我正在尝试检查会话用户名是否与我的数据库中的记录匹配,如果是,我想要包含一个文件。
这是我的代码
<?php
$username = $_SESSION['username'];
echo $username;
include('connect.php');
mysqli_select_db($connect,"persons");
$sql = "SELECT * FROM users WHERE sessionusername='$username'";
$r = mysqli_query($connect,$sql) or die(mysqli_error($connect));
$geez = mysqli_fetch_array($r);
if($geez)
{
include('check.php');
}
else
{
echo "error";
}
?>
会话用户名与我的数据库中的记录不匹配,但该文件正在被包含。为什么呢?
OH,我发现了问题。它正在考虑我的用户名是根本......但是当我说ECHO $ _SESSION ['USERNAME']这是CRAIG @ CRAIG.COM..WHY SO&gt;
答案 0 :(得分:0)
<?php
$username = $_SESSION['username'];
echo $username;
include('connect.php');
mysqli_select_db($connect,"persons");
$sql = "SELECT sessionusername FROM users WHERE sessionusername='$username'";
$r = mysqli_query($connect,$sql) or die(mysqli_error($connect));
$geez = mysqli_fetch_array($r);
if($geez["sessionusername"]==$username)
{
include('check.php');
}
else
{
echo "error";
}
?>
答案 1 :(得分:0)
您只是在测试数组$geez
是否为空。如果数组中包含任何,则if($geez)
将返回true。要停止此行为,请参阅 ceteras '回答,尤其是此部分:
if($geez["sessionusername"]==$username) { include('check.php'); }
我相信这是唯一发生变化的部分。
谢谢,
詹姆斯