我有一個包含兩部分的測驗。第一部分是表格,第二部分是測驗的確認。在html/php中有三個單獨的測驗提交會話
的形式爲:The Form
我使用POST方法。因此,如果用戶提交表單並進入祝賀頁並刷新它,它將不斷髮送電子郵件。我試圖阻止它。
的相關PHP:
我試圖改變在下面的代碼的東西:
if($fname <> "" and $lname <> "" and $ydept <> "") {
mail ($myEmail, $mailSubject, $msgBody, $header);
mail ($userEmail, $sentMailSubject, $sentMailBody, $sentHeader);
到這樣的事情:
if($fname <> "" and $lname <> "" and $ydept <> "") {
mail ($myEmail, $mailSubject, $msgBody, $header);
mail ($userEmail, $sentMailSubject, $sentMailBody, $sentHeader);
header ("redirect me to another php page with the $fname included to be used as a variable");
}
else {
display not complete exam page and redirect me to the form;
}
我想$ FNAME或其他任何變量傳遞到congratulation.php頁面,所以與祝賀頁面在同一頁面上發送電子郵件不同,它將是一個不同的頁面,因此無論多少次用戶刷新,沒有任何反應。
代碼,蝙蝠俠的聖牆。嘗試只發布相關部分。 – Mike 2013-02-26 21:10:25
SORRY想發佈整個腳本以獲得更好的主意:) – Si8 2013-02-26 21:12:12
這裏不需要三個不同的會話,這只是PHP會話的標準使用。或者,如果您不想使用會話,請將其置於querystring變量中,然後輸入congrats頁面。無論你做什麼,都要確保你正確地轉義你寫入頁面的任何內容,否則你將容易受到XSS的攻擊。 – 2013-02-26 21:15:21