我的php脚本有问题......
Parse error: syntax error, unexpected T_LOGICAL_OR, expecting ')' in C:\wamp\www\register.php on line 34
我是个笨蛋!空,所以如果我做错了,请告诉我。
if (!empty($username or $email or $password or $repassword))
{
}
else
{
}
这是我的代码,但是在else和if语句
的中间那么我做错了什么?
我的问题是我做错了什么? 哦,
都是值
并且这是一个脚本,用于确定是否有人填写了表单中的所有文本框以供注册脚本使用。
答案 0 :(得分:3)
empty()仅检查变量,因为其他任何内容都会导致解析 错误。换句话说,以下内容不起作用: 空(修整($名))。
答案 1 :(得分:3)
empty
只能检查变量的空虚。 $username or $email or …
是一个布尔表达式,其计算结果为TRUE或FALSE - 不是您想要的。您必须使用多个empty
来电:
if (!(empty($username) or empty($email) or empty($password) or empty($repassword))) {
// all set!
}
答案 2 :(得分:2)
听起来你想要这些内容......
if (!empty($username) && !empty($email) && !empty($password) && !empty($repassword))
{
// none of the values are empty
}
else
{
// at least one of the values is empty
}
答案 3 :(得分:2)
empty()将检查作为参数传递的变量是否为空,这意味着它将检查其参数是否包含 -
在您的代码中,您提供$username or $email or $password or $repassword
作为其参数。这是一个布尔表达式,意味着它将评估为TRUE
或FALSE
。所以empty()
的参数将是一个布尔值,而不是一个变量。这就是您收到此错误的原因。
我假设您要检查所有这些变量是否为空。如果是这种情况,那么您可以通过以下方式执行此操作 -
if( !empty($username) or
!empty($email) or
!empty($password) or
!empty($repassword))
{
..........
}
else
{
........
}
答案 4 :(得分:1)
您不能使用OR运算符多次使用多个变量调用函数。
如果您想确保所有变量都不为空,请使用:
if ( ! (empty($username) ||
empty($email) ||
empty($password) ||
empty($repassword)
)
)
答案 5 :(得分:0)
答案 6 :(得分:0)
这不起作用,因为empty()
只能检查单个变量。
即使它确实有效,你做错了,这个if语句会检查四个变量中的任何一个是否为空。因此 - 如果它是有效的代码 - 即使只定义了一个变量,它也会返回true。
所以改成它:
if (!empty($username) and !empty($email) and !empty($password) and !empty($repassword))
答案 7 :(得分:0)
在一个空函数中不能有多个OR。你的代码必须是这样的:
if (!empty($strValue1) OR !empty($strValue2) OR !empty($strValue3)) {
// code
} else {
// other code
}