0
我想知道如何在提交表單之後顯示'所有字段必需'通知但之前隱藏它。這裏是我的代碼:使用PHP顯示「所有字段必填」錯誤(並且默認隱藏它)
if (isset($_POST['region'], $_POST['description'], $_POST['remarks']) && !empty ($_POST['region']) && !empty($_POST['description']) && !empty($_POST['remarks']))
{
$region = mysql_escape_string($_POST['region']);
$description = mysql_escape_string($_POST['description']);
$remarks = mysql_escape_string($_POST['remarks']);
if (strlen($region>50)) {
$error .= "Only 50 characters are allowed in the region field.";
}
else {
if (strlen($description>500)) {
$error .= "Only 500 characters are allowed in the region field.";
}
else {
mysql_query("INSERT INTO register (region, description, remarks) VALUES(
'$region',
'$description',
'$remarks') ") or die('Not saved. ' . mysql_error());
}
}
}
else {
$error.= "Please fill all the fields.";
}
echo $error;
?>
//form starts here
然而,採用這種顯示「請填寫所有字段」即使在頁面加載的第一次(不提交輸入)。我如何去做這件事?另外,即使嵌套的'如果'不工作。這些字符串仍然可以提交:(
注意:你應該使用'mysqli_ *'而不是'mysql_ *',因爲mysql函數很快就會被棄用。 – bear
真的很奇怪,我的意思是你應該只用'我sset($ _ POST ['BLAH'])'來控制,但你的寫作也是真實的。你可以請檢查什麼的'$ _ POST值[ '言論']','$ _ POST [ '說明']'和'$ _ POST [ '區域']'的'else'聲明。也許它們到達服務器的零點,並且'!empty'執行到False。這是關於'空'的;) – mtndesign