0

次の2つのアクションを組み合わせたいのですが、誰か助けてもらえますか? 送信ボタンのワンクリックで2つのアクションを実行したい!

アクション No.1:

<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">

アクション No.2:

<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login2.php', 'login_post2' ) ); ?>" method="post">

2 つの異なるスクリプトにデータを送信したいので、それらを結合できません。それらを結合しようとすると、両方ではなく 1 つのフォームにデータが送信されます。両方のスクリプトにデータを送信するように両方を組み合わせたい..

4

1 に答える 1

1

カスタムアクションをターゲットとして使用し、cURLを使用して2つのリクエストを行うことができます

<?php
$targets = array('http://example.com/wp-login-one.php',
                             'http://example.com/wp-login-two.php');

$cookie = 'cookie.txt'; // MUST be writable to script 
$postdata = '';
foreach($_POST as $key => $value){
    $postdata .= '&'.$key.'='.$value;
}

foreach($targets as $url){
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt ($ch, CURLOPT_USERAGENT, "Put your desired User Agent here"); 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);  
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
    curl_setopt ($ch, CURLOPT_POST, 1); 
    $result = curl_exec ($ch); 

    curl_close($ch);    
    echo $result;  
}
?>

これはテストされていないコードですが、動作することは間違いありませんが、必要に応じてさらに改良して、実際に動作させることができます。

于 2012-11-01T15:55:05.773 に答える