我正在編寫一個應用程序,允許用戶爲潛在員工上傳參考信函。PHP表單需要提交兩次
每個引用都會發送一封電子郵件,其中包含URL末尾的唯一字符串。因此,例如,地址將類似於:www.mywebaddress?url = 503241a20b5085_18720621。
要確定唯一字符串是否有效(即存在於數據庫中),我需要執行查詢搜索。但是,當引用嘗試訪問URL時,他需要回答一個安全問題。因此,我還需要檢查答案是否有效,如果他以前上傳過等,以確定將他重定向到哪個頁面。
但由於查詢,我的代碼要求用戶點擊兩次「提交」。這真的很煩人,但我不知道如何解決它。
這裏是我的代碼相關的摘錄:
if (isset ($_GET['url'])) {
$query = "SELECT * FROM ref_info WHERE url='" . $_GET['url'] . "'";
$result = $db->execute($query);
if (empty ($result)) {
//error message
} else {
$url = $_GET['url'];
if ($_SESSION['validated']) {
if ($result[0]['uploaded'] ==1) {
$_SESSION['uploaded'] =true;
} else {
$_SESSION['uploaded'] =false;
}
include_once("process_upload.php");
} else {
if (empty($result[0]['answer'])) {
include_once("security.php");
} else {
include_once("security_check.php");
}
}
}
}
,請問有什麼我可以做,這樣的形式,只需要提交一次?
在此先感謝您的任何建議!
使用ajax進行第一次查詢,看看是否有效。 – amitchhajer
您可以爲這個問題添加一個子彈點工作流程嗎?我不確定我瞭解*爲什麼用戶必須提交兩次。 – Matt
您的代碼非常容易暴露給SQL注入。閱讀有關預準備報表。另請閱讀:http://stackoverflow.com/a/60496/871050 –