簡體   English   中英

為什么我的login.php不會重定向我?

[英]Why wont my login.php redirect me?

我有一個登錄,注冊頁面。 注冊頁面工作正常,但是我的登錄頁面有問題。 當我成功登錄時,它應該將我重定向到一個名為member.php的頁面,但只能停留在同一頁面上,並且沒有任何位置。 這是我認為可能出現問題的login.php頁面的代碼:

<?php
if(isset($_POST["submit"])){

if(!empty($_POST['user']) && !empty($_POST['pass'])) {
    $user=$_POST['user'];
    $pass=$_POST['pass'];

    $con=mysql_connect('127.0.0.1:8889','root','root') or die(mysql_error());
    mysql_select_db('user_registration') or die("cannot select DB");

    $query=mysql_query("SELECT * FROM login WHERE username='".$user."' AND password='".$pass."'");
    $numrows=mysql_num_rows($query);
    if($numrows!=0)
    {
    while($row=mysql_fetch_assoc($query))
    {
    $dbusername=$row['username'];
    $dbpassword=$row['password'];
    }

    if($user == $dbusername && $pass == $dbpassword)
    {
    session_start();
    $_SESSION['sess_user']=$user;

    header("Location: member.php");
    }
    } else {
    echo "Invalid username or password!";
    }

} else {
    echo "All fields are required!";
}
}
?>

<form action="" method="POST">
Username: <input type="text" name="user"><br />
Password: <input type="password" name="pass"><br /> 
<input type="submit" value="Login" name="submit" />
</form>

我稍微修改了您的代碼。 您進行一些不必要的檢查。 首先,您基於登錄信息獲取MySQL結果,然后再次進行比較。 您不需要這樣做。

此代碼應該起作用。 如果不是,我很確定您使用錯誤的貸方登錄,或​​者您的數據庫結構有問題。

<?php
if (isset($_POST['submit'])) {
    if (!empty($_POST['user']) && !empty($_POST['pass'])) {
        $con = mysql_connect('127.0.0.1:8889','root','root') or die(mysql_error());
        mysql_select_db('user_registration') or die('Could not select database');

        $login = 'SELECT * FROM login WHERE username = \'' . $user . '\' AND password = \'' . $pass . '\' LIMIT 1';
        $loginq = mysql_fetch_assoc(mysql_query($login));

        if (isset($loginq['username'])) {
            session_start();
            $_SESSION['sess_user'] = $loginq['username'];
            header('Location: member.php');
        }
        else {
            echo 'Invalid username or password!';
        }

    }
    else {
        echo 'All fields are required!';
    }
}
?>

嘗試以HTML形式添加要發布的頁面,如下所示:

<form action="login.php" method="post">

另外,請查看PDO,因為它容易受到SQL注入的攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM