iFrames從來不漂亮。爲什麼不使用AJAX實現與iframe相同的結果?
如果你想使用iFrames,你到底有什麼困難? url變量的傳遞?
編輯:
您應該能夠通過iframe標準URL格式來傳輸您的變量:
<iframe src="landing_page.php?var=str&var2=str2" name="frame_name"></iframe>
然後「landing_page.php」可通過與「得稱他們訪問這些變量「方法:
<?php
echo $_GET['var'];
echo $_GET['var2'];
?>
或者,因爲你通過點擊(我認爲)改變iframe是,你可以通過達到同樣結果的鏈接:
<a href="landing_page.php?var=str&var2=str2" target="frame_name">Click to load new iframe</a>
而「landing_page.php」可以使用與之前相同的方法訪問。
但是,我仍然推薦使用AJAX,因爲iframe幾乎已經過時並且不必要。我還沒有遇到任何關於AJAX和瀏覽器兼容性的問題。如果這是您想要的路線,我會建議您使用jquery library來快速啓動並運行。如果您對此感興趣,或者仍然對iframe有問題,請告訴我。
編輯2:
所以它看起來像你應該仍然能夠訪問這些網址使用PHP $ _GET方法您的確認頁乏,然後使用mail發送電子郵件。下面是一個例子(替換URL中的實際變量名稱爲我做了的):
//retrieve 'email' var from url
$to = $_GET['email'];
//enter title of email
$subject = 'Your Payment Confirmation';
//create your message and retrieve 'name' and 'amount' var from url
$msg = "Thank you, ".$_GET['name']."! Your payment of ".$_GET['amount']."
was approved!";
//if you want to have a custom "FROM" in the email header
$headers = 'From: [email protected]';
//send mail to customer
mail($to,$subject,$msg,$headers);
//send to yourself as well
mail('[email protected]',$subject,$msg,$headers)
注意:如果你是在本地主機上測試這一點,你將需要啓用本地服務器上的郵件功能或否則郵件將不會發送。
編輯3:
使用explode用分號作爲分隔符來解析注意變種。然後您將獲得一系列值。例如:
//explode the note var from url
$vars = explode(';', $_GET['Note']);
//echo values of $vars array
for($i=0; $i<count($vars); $i++) {
echo $vars[$i]. '</br>';
}
嗨,感謝您的快速回復。我使用的是內聯框架,因爲我更熟悉他們,然後ajax。 ajax是否適用於所有瀏覽器?我在表單和付款處理iframe之間傳遞變量以及將url變量傳輸到確認電子郵件時遇到困難。再次感謝 – user1332723 2012-04-14 02:17:14
非常感謝,非常有幫助和完整的答案! 我肯定會在稍後嘗試AJAX方法,但是我首先想嘗試指定iframe方法,因爲我認爲我快到了。我該如何做與你所說的相反的內容,並在php的末尾輸入一些值,然後使用curl動態獲取支付處理給出的新url,然後刷新當前頁面上的iframe付款處理提供的新網址? – user1332723 2012-04-14 15:19:39
如果我的理解正確,用戶輸入他/她的付款信息,點擊提交,然後你想要把這個信息扔到一個url的末尾(即payment_confirmation.php?var = str) iframe到付款確認頁面,您將通過訪問這些網址變量向您發送電子郵件。如果是這種情況,爲什麼不直接在payment_processing頁面上使用