0

わかりましたので、このスクリプトは以前にデータベースに保存された資格情報を使用して sqlserver に接続しようとしましたが、ページにアクセスしようとするとエラーが発生しました

「解析エラー: 構文エラー、32 行目の login.php の予期しない T_ELSE」

さまざまな Web サイトを調べましたが、このスクリプトの何が問題なのかわかりません

前もって感謝します。

  <?php
        session_start();

        if(!isset($_SESSION["user_id"])){
            header("location");
        }

    ?>
    <?php
        $username = $_POST['txt_username'];
        $password = $_POST['txt_password'];
    if ($username&&$password){  

        $connect = mysql_connect("database", "username", "password") or die("No Server Found");

        mysql_select_db("hnd_1213_marwick") or die("No Connection");

        $query = mysql_query("SELECT * FROM account WHERE username='$username'");
        $numrows = mysql_num_rows($query); 

        if($numrows !=0){
            while ($rows = mysql_fetch_assoc($query)){

                $dbusername = $row['username'];
                $dbpassword = $row['password'];
            }
            if ($username==$dbusername&&$password==dbpassword){

            echo "Login Successful. <a href='homepage.php'>Click Here to go to the home page</a>";
            $_SESSION['username']=$dbusername;

            else
            echo "Incorrect Login";


        else
        die ("This account does not exsist");

    }
    else
        die ("Please enter a username and password");

    ?>
4

2 に答える 2

0

ここに閉じ中括弧がありません

        if ($username==$dbusername&&$password==dbpassword){

        echo "Login Successful. <a href='homepage.php'>Click Here to go to the home page</a>";
        $_SESSION['username']=$dbusername;
        }// here is missing

これは、T_ELSESQL ではなく php 構文に関連する構文エラーの原因です。if ステートメントで中括弧を使用することは良い習慣です。

if(something) { 
  //do stuff 
} else { 
  //do somthing else
}
于 2013-05-22T14:01:17.723 に答える