4

我是 php 新手。我创建了一个简单的用户和密码登录表单,如下所示:

if(isset($_POST['posted'])){

    $name= $_POST['name'];
    $pass= $_POST['pass'];

    if(!is_string($name))
    {
    echo "please enter name in alphabets";
    }
    else if($name=='muneeb' && $pass=='abcd')
    {
        header("location:1st.php");
    }
    else
    {
        echo "you entered wrong password";
    } }

但只有一个条件运行。我想跑所有三个。

4

2 回答 2

0

它应该是

if(isset($_POST['posted']))
    {

        $name= $_POST['name'];
        $pass= $_POST['pass'];

        if(is_numeric($name))
        {
            echo "please enter name in alphabets";
            exit;
        }

        if($name=='muneeb' && $pass=='abcd')
        {
            header("location:1st.php");
            exit;
        }
        else
        {
            echo "you entered wrong password";
            exit;
        } 
    }
于 2013-03-30T10:19:24.397 回答
0

在 Marko D 对我的帖子发表评论后,编辑。

注意 $name 和 $pass 没有空检查,考虑使用简单的 if(empty) 检查空字段并输出错误消息。

关于 is_numeric,Marko D 是对的,它仅适用于数字,不适用于特殊字符,按照他的建议,这里有一个如何使用 ctype_alpha 的示例。

$name = $_POST['name'];
if (!ctype_alpha($name)) {
   echo('Your name may include letters only');
} else {
   // proceed to function
}
于 2013-03-30T12:30:56.920 回答