我已经创建了一个成员登录页面,现在我正在制作一个受限制的'会员唯一部分'。我对mySQL相当新,我也在努力教自己。我的问题与授权刚登录的人有关,允许他们去那个受限制的部分。反之亦然,如果他们没有登录,他们应该无法访问它或发现错误。以下是我的登录页面中的代码以及限制部分的代码......
echo "Welcome."; //Successful
echo "<br>";
echo "<a href='thankspage.html'> Click here </a> to continue to the Member Page."; // creates a link to go to.
$sql = " INSERT INTO Login (loginName,loginTime)
VALUES ('$username', NOW() ) "; // creates the login time.
$result = $mysqli->query($sql) or die ($mysqli->error); // shoots an error if i did something wrong.
$_SESSION[‘logname’] = $userlogin;
$_SESSION[‘auth’]=”yes”;
以下是信息部分的代码:
if ($_SESSION[‘auth’] != “yes”)
{
header("Location: membership.php");
exit();
}
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE)
or die("Failed to connect");
$sql = "SELECT firstName,lastName FROM Member
WHERE loginName=’{$_SESSION['logname']}’ ";
$result = $mysqli->query($sql) or die($mysqli->error);
我的主要问题是,无论我是否登录,我都可以访问此页面...变量$_SESSION['auth']
不是全局变量吗?
答案 0 :(得分:1)
你使用的是智能引号,结果会出乎意料,而不是'是':
以下示例:
session_start();
$_SESSION[‘auth’]=”yes”;
echo "var=".$_SESSION[‘auth’];
打印var=â€yesâ€
将单引号和双引号替换为转储引号
$_SESSION['logname'] = $userlogin;
$_SESSION['auth']="yes";
以及检查时:
if ($_SESSION['auth'] != "yes")