Php - Login.php页面无法正常工作?空白页

时间:2014-11-30 14:01:42

标签: php html mysql forms login

我正在进行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>

3 个答案:

答案 0 :(得分:1)

您的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 :(得分:1)

似乎

中存在语法错误

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

你缺乏双引号 这应该是

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

并且连接方式必须是这样

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

P.S 停止使用mysql_connect而不是mysqliPDO 原因是mysql现在是Deprecated

答案 2 :(得分:1)

  1. 升级到mysqli_或至少使用mysql_real_escape()
  2. 拆分2个文件
  3. 空白页表示您未启用错误报告,因此请启用它。
  4. <小时/> 的的login.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>
    

    <强>的login.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";
    }