2012-11-01 13 views
0

我想結合以下兩個動作,任何人都可以幫助我嗎? 我想在提交按鈕上點擊一下就可以執行兩個操作!如何結合php的兩個動作形式

動作一:

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

動作二:

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

我想將數據發送到兩個不同的腳本,這就是爲什麼我無法將它們結合起來,當我嘗試合併它們時,它會將數據發送到一個表單而不是兩個表單。我想在這樣的方式將數據發送到兩個腳本結合了..

+0

你可以使用jQuery嗎? – Burimi

+0

爲什麼你不把表格合併成一個表格? – afuzzyllama

+0

是否要將數據發送給兩個不同的腳本?您可以將數據發送到一個.php文件並在那裏處理兩次數據。 – Graviton

回答

1

你可以嘗試使用自定義操作作爲目標,並使用捲曲,使兩個請求

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

這是未經測試的代碼 - 非常確定它會盡快完成工作 - 如果需要的話,我可以進一步優化它以在野外工作!

+0

與此,我可以一次打開兩個URL鏈接? –

+0

否 - 您將創建一個單獨的PHP文件作爲

標記的一個操作 - 此PHP文件將收集POST的所有字段,然後將這些字段發送到$ targets數組中的兩個URL。 就像我說的 - 如果你需要我做一些測試,然後回來一個完整的工作版本,然後讓我知道 - 但我離開辦公室在16分鐘內,並有一個LOOOOONG通勤之前,我在家 - 贏了;不能給你工作代碼另一個小時左右 –

+0

oops - 我的意思是'是'不''不是'哈哈! 是的,幸運的是,該腳本*應該*允許您一次登錄到兩個獨立的URL。我爲客戶做了類似的事情,他們需要他們的員工在早上第一次登錄系統時在所有供應商網站上登錄。我用一個類似的「循環和捲曲」腳本和後端添加了隱藏的iframe來管理它。 –