PHP - 登录.php页面不起作用?空白页


Php - Login.php page not working? Blank Page

我正在进行一个php登录,当您登录时会将您重定向到"admin.php",这是我到目前为止的代码,当我回显带有用户名和密码的行时它起作用,但是当我添加ifelse语句时,它只是给了我一个空白屏幕,没有错误或任何东西。这是我的代码:

注意:我已经更改了 mysql 数据库详细信息,但我已经测试了它们并且它们都连接起来。

  <?php
mysql_connect("mysqlserver", "myusername", "mypassword);
mysql_select_db("mydatebase");
?>
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['submit'])){
$user = $_POST['user'];
$pass = $_POST['password'];
$result = mysql_query("SELECT * FROM user WHERE name='$user' AND pass='$pass'");
$num = mysql_num_rows($result);
if($num == 0) {
echo "Incorrect UserName or Password. Please try again."; session_start();
}else{
session_start();
$_SESSION['user'] = $user;
header("Location: admin.php");
}
?>
<form action='login.php' method='post'>
UserName: <input type='text' name='user' /><br />
Password: <input type='password' name='password' /><br />
<input type='submit' name='submit' value='Login' />
</form>
<?php
 }
?>
</body>
</html>

似乎你有语法错误

mysql_connect("mysqlserver", "myusername", "mypassword);

你缺少双引号这应该是

mysql_connect("mysqlserver", "myusername", "mypassword");

而连接的方式必须是这样的

$con = mysql_connect("mysqlserver", "myusername", "mypassword"); mysql_select_db("mydatebase",$con);

附言停止使用mysql_connect而是使用mysqliPDO原因是MySQL现在已被弃用

您的 PHP 脚本中有一个错误,并且error_reporting(或display_error)已关闭,因此您看到一个白色空白页。

这是错误:您忘记了双引号

mysql_connect("mysqlserver", "myusername", "mypassword);
-----------------------------------------------------^

试试这个:

mysql_connect("mysqlserver", "myusername", "mypassword");

如果这不能解决您的问题,则一定是在其他地方出错。

尝试在 PHP 脚本的开头添加以下两行以查找错误:

error_reporting(E_ALL);
ini_set('display_errors', 'On');
  1. 升级到mysqli_或至少使用 mysql_real_escape()
  2. 拆分 2 个文件
  3. 空白页表示您没有打开错误报告,因此请启用它。


登录.html:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <form action='login.php' method='post'>
        UserName: <input type='text' name='user' /><br />
        Password: <input type='password' name='password' /><br />
        <input type='submit' name='submit' value='Login' />
    </form>
</body>
</html>

登录.php:

<?php
if(isset($_POST['user'], $_POST['password'], $_POST['submit'])){
    $con = mysql_connect("mysqlserver","username","password", "mydatebase");
    if(!$con)
    { 
       die('Could not connect : ' . mysql_error());
    }
    $user = $_POST['user'];
    $pass = $_POST['password'];

    $query = sprintf("
             SELECT * FROM user WHERE name='%s' AND pass='%s'",
                mysql_real_escape_string($user),
                mysql_real_escape_string($pass);

    $result = mysql_query($query,$con);
    if(!$result)
    {
        die('Could not execute : ' . mysql_error());
    }
    if(mysql_num_rows($result) > 0){
        session_start();
        $_SESSION['user'] = $user;
        header("Location: admin.php");
    }else{
        echo "Incorrect UserName or Password. Please try again.";
    }
    mysql_close($con);
}else{
    echo "missing form values";
}