-3

「管理者」と「サブ」の 2 種類のユーザーを区別するセッションを含むログイン ページを作成しようとしています。ログインに成功すると、各タイプのユーザーは異なるランディング ページにリダイレクトされます。これは、入力されたユーザー名とパスワードをデータベース内のユーザー名とパスワードと比較することによって行われ、両方のフィールドが一致するとログインが成功します。

ユーザーが入力したユーザー名とパスワードは、さまざまなタイプのユーザーに対応するさまざまなテーブルから取得された値と比較されます。

しかし、32 行目に Parse error: syntax error, unexpected '{', expected '(' というエラーが表示されます。コンテンツファイルを静的プロパティに割り当てるときに、私ができることから、私には適用されないようです.解析エラーに関するスタックオーバーフローで私が見た質問のほとんどは、人々がそれらを閉じるのを忘れたことが原因でした. " } " または " ) "。ただし、" ( " が予期されるときに、予期しない " { " に関するエラーが発生します。これはなぜですか?

私のコードは次のとおりです。

<?php

session_start();
switch ($_POST[‘Button’])
{
case "Login":
    include("cxn.inc");
    $cxn=mysqli_connect($host,$user,$pass,$db) or die("Can't connect to database");
    $query="SELECT * FROM Users WHERE Username='$_POST[Username]'";
    $result=mysqli_query($cxn,$query) or die (" Cant find Username");
    $num=mysqli_num_rows($result);


        if($num>0)//Username is found
        {
            $query="SELECT * FROM Users WHERE Password='$_POST[Password]'";
            $result2=mysqli_query($cxn,$query)or die("Cant find Password");
            $num2=mysqli_num_rows($result2);
            if($num2>0)//Password is found
            {
                $_SESSION['Auth']="Yes";
                $_SESSION['Type']="Admin";
                header("Location:AdminMain.php");
            }
            else
            {
                echo"Invalid Username and/or Password";
            }

        }
        elseif//Executes when Username not found in Users table
        { <---This is the line giving me the error
            $query="SELECT * FROM SubUsers WHERE Username='$_POST[Username]'";
            $result3=mysqli_query($cxn,$query) or die(" Cant find Username");
            $num3=mysqli_num_rows($result3);
            if($num3>0)//Username is found
            {
                $query="SELECT * FROM SubUsers WHERE Password='$_POST[Password]'";
                $result4=mysqli_query($cxn,$query);
                $num4=mysqli_num_rows($result4);
                if($num4>0)//Password is found
                {
                    $_SESSION['Auth']="Yes";
                    $_SESSION['Type']="Sub";
                    header("Location:SubMain.php");
                }
                else
                {
                    echo"Cant find Password";
                }
            }
            else
            {
                echo"Cant find Username";
            }
        }
        else
        {
            echo"Invalid Username and/or Password entered";
        }
    include("LoginPage.php");

    break;
}

誰かが私の間違いを指摘していただければ幸いです。

4

1 に答える 1

1

これは、 an を使用する場合else if、条件を指定する必要があるためです。

elseif($num == 0)
{

> 0これにより、次の場合= 0とそうでない場合のチェックが行われます< 0

于 2013-05-26T16:27:16.500 に答える