php - 在 mySQL 的多个 PHP 页面上使用变量

标签 php mysql

我已经创建了一个成员(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/

相关文章:

mysql - 为什么mysql用utf8mb4_unicode_ci collat​​ion会生成乱码?

mysql - 如何在 MySQL 中返回数据透视表输出?

mysql - 使用游标的过程循环中出错

mysql - 如何在此 MySQL 语句中将子主题分组为主题?

phpunit 检查测试类上是否调用了方法

PHP变量黑客

php - 在 php 中按给定间隔对测量/时间序列求和的有效方法

php - NetBeans + FTP + BitBucket

php - MySQL - "Database name"设置在哪里?

php - PHP/MySQL 的问题