我的生活中最難過的時間是在提交給自己的表單中不理解POST REDIRECT GET模式的基礎知識。 主要的問題是當用戶返回或刷新頁面時,我在數據庫中得到重複條目 所以基本上我有一個包含兩個表單的頁面,每個表單都提交給自己。 我有一些關於PRG模式實現的代碼,但它似乎並沒有工作。 我會發佈一個簡短的例子,我將嘗試解釋我在做什麼。POST REDIRECT GET在表單中提交數據庫中的重複條目
<?php
function saveUser1($UserName_1)
{
include 'db_conn.php';
//MySQL code etc...
if($result) return 1; //registro correcto
else return -2; //error
header('Location: samepage.php' , true, 303);
exit();
}
function saveUser2($UserName_2)
{
include 'db_conn.php';
//MySQL code etc...
if($result) return 1; //registro correcto
else return -2; //error
header('Location: samepage.php' , true, 303);
exit();
}
$error1 = 0;
$error2 = 0;
if(isset($_POST['userForm1']))
{
$error1 = saveUser1(clean_form($_POST['txtUserName_1']);
}
if(isset($_POST['userForm2']))
{
$error2 = saveUser2(clean_form($_POST['txtUserName_2']);
}
?>
現在
<form action="" name="userForm1" method="POST">
<label for="data">Some Data</label>
<input type="text" value="some test data to post" name="txtUserName_1" id="txtUserName_1" /><br />
<input type="submit" name="userForm1" id="userForm1"/>
</form>
<form action="" name="userForm2" method="POST">
<label for="data">Some Data</label>
<input type="text" value="some test data to post" name="txtUserName_2" id="txtUserName_2" /><br />
<input type="submit" name="userForm2" id="userForm2"/>
</form>
我剛剛創建的例子就是我試圖完成這個代碼,但我還沒有與PGR模式任何運氣HTML。 你能告訴我錯誤在哪裏嗎?或者將我(不開玩笑)轉向一些關於這個主題的好教程? 我一直在尋找很多問題/答案,博客,但我找不到任何真正可靠的東西(從我的角度來看)。 在此先感謝。
我種解決的,如果有人尋找同樣anwser,你需要創建第二個PHP頁面,你會將數據插入到數據庫中,然後,您將把用戶重定向到表單所在的初始頁面。 –