如何结合php Form的两个动作

时间:2012-11-01 15:41:39

标签: php html forms

我想结合以下两个行动,任何人都可以帮助我吗? 我想在提交按钮上单击一下就执行两个动作!

行动1:

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

行动2:

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

我想将数据发送到两个不同的脚本,这就是为什么我无法将它们组合起来,当我尝试将它们组合起来时,它会将数据发送到一个表单而不是两个表单。我希望以这样的方式结合它将数据发送到两个脚本..

1 个答案:

答案 0 :(得分:1)

您可以尝试使用自定义操作作为目标,并使用cURL发出两个请求

<?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;  
}
?>

这是未经测试的代码 - 非常确定它可以正常工作 - 如果需要的话我可以进一步完善它以便在野外工作!