我已经创建了一个成员(member)登录页面,现在我正在开发一个受限的“成员(member)专区”。我是 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']
不是全局变量吗?
最佳答案
您正在使用智能引号,结果将是意想不到的,而不是"is":
下面的例子:
session_start();
$_SESSION[‘auth’]=”yes”;
echo "var=".$_SESSION[‘auth’];
打印 var=â€yesâ€
用转储引号替换单引号和双引号
$_SESSION['logname'] = $userlogin;
$_SESSION['auth']="yes";
还有当你检查时:
if ($_SESSION['auth'] != "yes")
关于php - 在 mySQL 的多个 PHP 页面上使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773303/