Получение информации из базы данных - PullRequest
0 голосов
/ 16 декабря 2010

Я пытаюсь проверить, соответствует ли имя пользователя сеанса записи в моей базе данных, и если это так, я хочу включить файл.

Это мой код

<?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";   
}
?>

Имя пользователя сеанса не совпадает с записью в моей базе данных, но файл включен. Почему?

О, я НАШЕЛ НОМЕР. СЧИТАЕТ, ЧТО МОЕ ИМЯ ПОЛЬЗОВАТЕЛЯ БУДЕТ КОРНЕВЫМ ... НО, КОГДА Я СКАЗАЛ ECHO $ ​​_SESSION ['ИМЯ ПОЛЬЗОВАТЕЛЯ'], ЭТО CRAIG @ CRAIG.COM..Почему ТАК>

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Вы просто проверяете, является ли массив $geez пустым или нет.Если в массиве есть что-нибудь , вы if($geez) вернете true.Чтобы остановить это поведение, см. ceteras 'ответ, в частности, эту часть:

if($geez["sessionusername"]==$username)   
{
    include('check.php');

}

Я считаю, что это единственная часть, которая изменилась.*

Джеймс

0 голосов
/ 16 декабря 2010
<?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";   
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...