我在PHP代码中有一个问题。它没有给我任何输出。我的错误在哪里?
if (isset($_POST['regBtn'])) {
$fname = strip_tags(trim($_POST['fname']));
$lname = strip_tags(trim($_POST['lname']));
$email = strip_tags(trim($_POST['email']));
$password = strip_tags(trim($_POST['password']));
$errMsg = array();
for($i=0; $i<=3;$i++) {
if (strlen($fname) < 0) {
$errMsg[$i] = "Գրեք Ձեր անունը ամբողջությամբ։";
} elseif (strlen ($lname) <0) {
$errMsg[$i] = "Գրեք Ձեր ազգանունը ամբողջությամբ";
} elseif (strlen($email) < 0) {
$errMsg[$i] = "Գրեք Ձեր էլ․ հասցեն";
} elseif (strlen($password) < 6) {
$errMsg = "Գաղտնաբառը պետք է պարունակի առնվազն 6 նիշ";
} }
var_dump ($errMsg);
}
else {
}
答案 0 :(得分:1)
这里有几个问题,假设您有一个name="regBtn"
的表单输入,要求才能运行此代码:
strlen
不会是< 0
,尽管可能是0
。如果需要,请使用empty
或大于0
的数字。elseif
仅在if
失败的情况下执行,因此只需使用if
。if
块并将其动态附加到错误数组[]
。if (isset($_POST['regBtn'])) {
$fname = strip_tags(trim($_POST['fname']));
$lname = strip_tags(trim($_POST['lname']));
$email = strip_tags(trim($_POST['email']));
$password = strip_tags(trim($_POST['password']));
$errMsg = array();
if (empty($fname)) { // or use strlen < 2 or < 3 or whatever like $password
$errMsg[] = "Գրեք Ձեր անունը ամբողջությամբ։";
}
if (empty($lname)) {
$errMsg[] = "Գրեք Ձեր ազգանունը ամբողջությամբ";
}
if (empty($email)) {
$errMsg[] = "Գրեք Ձեր էլ․ հասցեն";
}
if (strlen($password) < 6) {
$errMsg[] = "Գաղտնաբառը պետք է պարունակի առնվազն 6 նիշ";
}
var_dump ($errMsg);
}
此外,您可能想在trim
之后strip_tags
,以防留下空格:
$fname = trim(strip_tags($_POST['fname']));