我有一個網站,任何訪問者可以訂閱接收newsletter.I遇到了每當我刷新頁面時,我已經重新提交的問題。我通過應用PRG概念解決了它。現在用戶永遠不會提交相同的表單兩次,我只有一個問題:我已經設計了表單,以便當成功/失敗時在輸入字段下顯示一條消息。不幸的是,現在我應用了PRG概念,我從未收到任何消息。該怎麼辦 ?POST/REDIRECT/GET出了什麼問題?
的index.php - 其中i具有包含提交表單和所述消息顯示的div
<div id="newsletter" >
<form id="abonat" name="abonat" action="formular.php" method="post" onsubmit="return golire()" autocomplete="on" >
<span>Subscribe</span>
<input type="text" id="nume" name="nume" placeholder="Name" required />
<input type="email" id="email" name="email" placeholder="Email" autocomplete="off" required/>
<input type="submit" value="Subscribe" class="button" style="width:26%;float:left;" />
</form>
</div>
<div id="mesaj_newsletter">
<span><?php if (isset($mesaj)) echo $mesaj; ?> </span>
</div>
formular.php - 其中所述驗證發生,並且該消息被決定
include('conect.php');
function validEmail($email){
//code that verifies if it is a valid email adress
}
if((isset($_POST['email']))&&(isset($_POST['nume']))){
$nume=mysql_real_escape_string($_POST['nume']);
$email=mysql_real_escape_string($_POST['email']);
$z=1;
if(validEmail($email)==TRUE){
$result=mysql_query("SELECT * FROM abonat");
while($data=mysql_fetch_row($result)){
if(($data[1]==$email)||($data[2]==$nume))
$z=0;
}
if($z==1){
mysql_query("INSERT INTO abonat(email,nume) VALUES ('$email','$nume')");
$mesaj="Your email has been registered";
}
else $mesaj="You are already registered";
}
else $mesaj="You have not entered a valid email adress";
}
mysql_close($con);
header('Location:index.php');
?>
你有沒有聽說過$ _SESSION? – 2013-04-29 10:27:11