2011-03-10 69 views
0

我的表單操作將隱藏的輸入發送到PayPal進行結帳。我還需要它在發送貝寶之前給我發送一封電子郵件。提交了兩件事情

但由於我的表單的行爲調用貝寶我不能觸發其他功能。我在想我可以讓自己的行動=自己做我需要在我的網頁上,然後發送nessesery後變量到貝寶。我正在射擊在它下面:

<? 
if(isset($_POST['submit'])){ 
//get post data for me clean up and save then send 

if(!mail(data, myemail, headers)){ 
//send data to paypal. 
curl(https://www.paypal.com/cgi-bin/webscr); 
} 

}else{ 
?> 
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<!-- DATA FOR ME--> 

<p>Child's Name: <? echo $child_name; ?></p> 
    <input type="hidden" name="child_name" value="<? echo $child_name; ?>"> 

<p>Birth Date: <? echo $birth_date; ?></p> 
    <input type="hidden" name="birth_date" value="<? echo $birth_date; ?>"> 

<p>Parent/Guardian Name: <? echo $name; ?></p> 
    <input type="hidden" name="name" value="<? echo $name; ?>"> 

<p>Email Address: <? echo $email; ?></p> 
    <input type="hidden" name="email" value="<? echo $email; ?>"> 

<p>Home Phone: <? echo $phone; ?></p> 
    <input type="hidden" name="phone" value="<? echo $phone; ?>"> 



<!-- DATA FOR PAYPAL--> 
<input type="hidden" name="business" value="[email protected]"> 
<input type="hidden" name="item_name" value="Item Name"> 
<input type="hidden" name="currency_code" value="USD"> 
<input type="hidden" name="amount" value="<?php echo $total; ?>"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="XXXXXXXXXX"> 
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
</form> 

我應該使用捲曲的數據重新發送到PayPal一次我的網頁上的郵件()函數是成功的?不知道這將如何工作?

+2

相反,你可以上使用的onClick()提交按鈕,它調用發送電子郵件的方法,然後調用form.submit的動作; – 2011-03-10 21:56:30

回答

1

可能是這樣

<? 
$url = ""; 

if(isset($_POST['submit'])){ 
//get post data for me clean up and save then send 

    if(!mail(data, myemail, headers)){ 
     $url = "https://www.paypal.com/cgi-bin/webscr"; 
    } 

}else{ 
?> 
<form action="<? echo $url; ?>" method="post"> 

<!-- Same form as in the original post --> 

</form> 

<? 
if ($url != "") { 
?> 
<script language="javascript"> 
document.forms[0].submit(); 
</script> 
<? 
} 
?> 
+0

謝謝我使用了上面的方法,它服務於我的目的。這些數據沒有得到PayPal,但這與我認爲的輸入名稱有關。謝謝。 – Denoteone 2011-03-11 04:07:08

0

爲什麼不只用javascript?一個onsubmit例程可以發送給發送給你一封電子郵件的CGI腳本,然後返回一個真正的值,以便正常的提交跟隨到PayPal。


想想吧,您需要使用AJAX方法,以便您的瀏覽器保持在同一頁面上。

+0

是的,但除了使用ajax請求的onsubmit,而不是發佈的路徑。 :) – 2011-03-10 22:06:27