繁体   English   中英

php die()不起作用(简单地代码)

[英]php die() doesn't work (simply code)

我正在学习如何使用“ setcookie”,但是,我无法按照以下代码工作,如果有人可以帮我,我已经将所有代码粘贴到了这里? 不知道原因。 非常感谢。

  else{ die ("hahahahahahahahahahahahahaha"); }

HTML代码

<form method="POST" action="">
<div class="error"><?php echo $error;?></div>
<p></p>
<label>Username: </label><br>
<input type="text" name="username"><br>
<label>Password: </label><br>
<input type="password" name="password"><br>
<input type="checkbox" name="rememberme"> Remember me<br>
<input type="submit" name="submit" value="Login">

PHP代码

<?
if(isset($_POST['submit'])){
    //get data
    $username = $_POST['username'];
    $password = $_POST['password'];
    $rememberme = isset($_POST['rememberme']);
    echo $rememberme;


    if($username&&$password){
    $login = mysql_query("SELECT * FROM form WHERE username='$username'");

    while ($row = mysql_fetch_assoc($login))
    {
        $db_password = $row['password'];
        if (md5($password)== $db_password)
        {
            $logstatus = TRUE;
            }
        else{
            $logstatus = FALSE; 
            }
        if ($logstatus == TRUE)
        {
            if ($rememberme == "1")
                setcookie("username", $username, time()+600);
            else if ($rememberme == "")
                $_SESSION['username'] = $username;


        echo " I am here";
        }

        else{
           die ("hahahahahahahahahahahahahaha"); //unable to get here
        }
    }

}

    else{
    echo "enter username / password";
    }
}
?>

试试这个代码,我还没有测试过,但是应该可以用:)

session_start();//dont forget this :P
if(isset($_POST['submit'])){
    //get data
    $username = $_POST['username'];
    $password = $_POST['password'];
    $rememberme = isset($_POST['rememberme']);
    echo $rememberme;    
if($username&&$password){
    $login = mysql_query("SELECT * FROM form WHERE username='$username' AND password='".md5($password)."'");


        if (mysql_num_rows($login))//if this returns 1 you are logged in
        {
            if ($rememberme == "1")
                setcookie("username", $username, time()+600);
            else
                $_SESSION['username'] = $username;


                echo " I am here";              

        }else{
           die ("Incorrect Username/Password"); //unable to get here
        }
    }

}

    else{
    echo "enter username / password";
    }
}

while循环导致了此问题,只需将其删除即可。

好吧,我没有测试代码,但是尝试遵循可能会有所帮助。

添加行:

$logstatus = TRUE;

前一阵子。

理由:变量完成后,变量的范围立即完成。 在外部定义logstatus时,将确保其作用域不会在需要的地方结束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM