「管理者」と「サブ」の 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;
}
誰かが私の間違いを指摘していただければ幸いです。