我無法從表單中處理值。我需要你的幫助。爲什麼不發佈這些結果?
function updateUser($table, $id) {
if($_POST) {
processUpdate($table, $id);
} else {
updateForm($table, $id);
}
}
function processUpdate($table, $id) {
print $table; //testing
print $id; //testing
$email=addslashes($HTTP_POST_VARS['email']);
$lname=addslashes($HTTP_POST_VARS['lname']);
$fname=addslashes($HTTP_POST_VARS['fname']);
print $lname;
//which table do we update
switch($table) {
case "maillist":
$result = mysql_query("UPDATE $table SET email='$email', lname='$lname', fname='$fname' WHERE id='$id'")
or die(mysql_error());
break;
}
}
函數updateForm($ table,$ id);只是輸出表單,具有電子郵件,lname,fname字段。而當你處理表單時,動作是一樣的,w /表和id通過url傳遞,所以它的GET就是這樣的id和table,對於lname,fname和email,它應該通過post來獲取。
編輯:這是形式的標籤是什麼樣的updateForm功能:<form method="post" action="?mode=upd&id='.$id.'&table='.$table.'">
但由於某些原因,它沒有發佈值。
你應該看一看函數mysql_escape_string而是mysql_real_escape_string和addslashes出於安全原因的。 – 2009-06-11 14:04:34
在使用它之前,您應該對您的ID進行is_numeric檢查(無需轉義,因爲它必須是整數)。 請更新您的代碼...其他人會錯誤地複製/粘貼您在那裏的內容。 – 2009-06-11 14:14:56