PHP IF语句错误is_string

时间:2014-03-04 14:00:26

标签: php if-statement statements

我一直在使用互联网学习PHP,所以我遇到了错误。

<?php
$name = $_POST['name'];
$lg = $_POST['lg'];
if (is_string($name) && is_numeric($lg)) {
    header( "Location: portal.php?ejhbusbhdubr=nennuncuiecbdhbcvhebchebcdjebcdsjhbcebhfcvebhdchebhcvhervbhecbvecveh" ) ;
}
if (empty($name) && is_numeric($lg)) {
    echo "Please enter your name.";
}
else {
   header ("Location: index.php?invalid=true");
}
?>

我遇到第二个if语句的问题。我要做的是,当$name variable为空时,我正在尝试显示错误消息,$lg变量不是。我认为is_string变量处理程序是这里的问题。也许字符串可以为空。但正如我所说,由于我没有书,我不知道该改变什么。

如果你仍然没有明白我的意思,

Name: ""
LG: "1234"

我希望上面的内容返回错误。帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试写下这样的条件:

if (empty($name) && !empty($lg))

答案 1 :(得分:1)

尝试这样,我只是移动你的第一个,并改变了一点。如果字符串是字符串,则必须在测试前测试字符串是否为空。我的意思是即使字符串为空,is_string也会返回true。

<?php
$name = $_POST['name'];
$lg = $_POST['lg'];

if (empty(trim($name)) && is_numeric($lg)) {
    echo "Please enter your name.";
}
elseif(is_numeric($lg)) {
    header( "Location: portal.php?ejhbusbhdubr=nennuncuiecbdhbcvhebchebcdjebcdsjhbcebhfcvebhdchebhcvhervbhecbvecveh" ) ;
    die();
}

else {
   header ("Location: index.php?invalid=true");
   die();
}