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 ファイルで show error を true に設定します。利用可能な場合はエラーを確認できるようにします。

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

これに

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

どこにもリクエスト変数を使用していないのでregister_globals、古いphpバージョンでオンにしたと思います。

この機能は廃止され、php5.4から削除されました。

投稿された変数にアクセスするには、次を使用する必要があります。

$_POST['uname1']

それ以外の:

$uname1

また、コードはSQLインジェクションに対して脆弱であることに注意してください。実際には、PDO/mysqliとプリペアドステートメントに切り替える必要があります。

于 2012-11-09T17:37:11.617 に答える