0

我最近升级了我的 php 版本,但我的登录表单不再有效。如果我输入正确的输入.. 它不会重定向,而是显示一个空白页。我仍在学习,任何帮助将不胜感激。

<?
session_start();
if(!empty($_SESSION[uname]))
{
    header("location:homepage.php");
    exit();
}
require_once "conn.php";
if(isset($s1))
{
    if(!empty($uname1) && !empty($upass1))
    {
        $sql = "SELECT * FROM members_info WHERE uname = '$uname1' AND upass = '$upass1'";
        $result = mysql_query($sql);
        if(mysql_num_rows($result) == "1")
        {
            $a = mysql_fetch_array($result);
            $_SESSION[uname] = $uname1;
            header("location:homepage.php");
            exit();
        } 
        else 
        {
            $login_error = "The username and password you entered was invalid.";
        }
    }
}
include_once "main3.php";
?>
4

2 回答 2

2

改变这个你会看到一些东西。还要在 php.ini 文件中将显示错误设置为 true。这样您就可以看到错误(如果可用)。

 if(!empty($_SESSION[uname]))

对此

if(!empty($_SESSION['uname']))
于 2012-11-09T17:26:59.080 回答
0

由于您没有在任何地方使用任何请求变量,我的猜测是您已register_globals在旧 php 版本中打开。

此功能已弃用,并已从 php 5.4 中删除。

要访问发布的变量,现在您必须使用:

$_POST['uname1']

代替:

$uname1

等等

另请注意,您的代码容易受到 SQL 注入的影响,您确实应该切换到 PDO / mysqli 和准备好的语句。

于 2012-11-09T17:37:11.617 回答