2015-01-27 3 views
0

Я столкнулся с проблемой, что мои сеансовые вары не запоминаются, когда вы связаны с другой страницей. Это может показаться немного странным. Чтобы немного разобраться, я объясню свою проблему некоторым кодом:SESSION не помнят php

Этот код является фрагментом из 'Login.php'. Здесь я устанавливаю VESES СЕССИИ для электронной почты и wachtwoord (Пароль).

$query = "SELECT * FROM user WHERE Email='$email' AND Wachtwoord='$Wachtwoord'"; 

$result = mysqli_query($connection, $query) or 
die(mysqli_error($connection)); 
$count = mysqli_num_rows($result); 
if ($count == 1){ 
    session_start(); 
    $_SESSION['email'] = $email; 
    $_SESSION['wachtwoord'] = $Wachtwoord; 


$sql = "UPDATE user SET Ingelogd = 1 WHERE Email='$email'"; 
$ressql = mysqli_query($connection, $sql) or 
die(mysqli_error($connection)); 

}else{ 
    echo "Invalid Login Credentials."; 
} 

Внутри этого фрагмента кода, электронная почта и спам-роботов сессии правильно установить (я верю, потому что я могу повторить эти и получить правильный вывод)

Но когда пользователь перенаправляется на chat.php, который содержит это PHP код (косвенно, этот код в «LoginCheck.php» Linked как:. Include('../Php/LoginCheck.php');):

Include('connect.php'); 
//IF ((! $_SESSION['email']= NULL)&&(! $_SESSION['wachtwoord']=NULL)){ 
    $email = $_SESSION['email']; 
    echo $_SESSION['email']; 
    $Wachtwoord = $_SESSION['wachtwoord']; 
    echo $_SESSION['wachtwoord']; 
    echo 'something'; 

$sql = "SELECT * FROM user WHERE Email='$email' and Wachtwoord='$Wachtwoord' and Ingelogd=1"; 
$result = mysqli_query($connection,$sql) or die(mysqli_error($connection)); 
$count = mysqli_num_rows($result); 
if (!$count == 1){ 
//header('Location: Login.php'); 
} 
//} 

Когда PHP пытается сделать что-то с сеансом варом он дает эту ошибку: Неопределенным переменным: _SESSION в F: \ xampp \ htdo cs \ Chives-Functional \ Php \ LoginCheck.php в строке 4 Строка, в которой объявляется $ email.

Что я хочу проверить, является ли пользователь еще включенным или нет. Как я могу заставить это работать? Что я делаю не так? И почему его не помнят? Заранее благодарю за любую помощь!

С уважением,

Ps. Если требуется дополнительная информация, не стесняйтесь спрашивать!

+3

вам нужно вызвать 'session_start();' на каждой странице – cmorrissey

+1

вы назвали 'session_start()'? –

+1

добавить 'session_start()' в начале LoginCheck. Он запускает или возобновляет сеанс. –

ответ

4

Вы не забыли начать сеанс в верхней части каждой страницы?

session_start();