PHP сессия не работает от страницы к странице - PullRequest
0 голосов
/ 14 июня 2011

Для входа в систему я использую:

<?php
session_start();

if($_POST){
$csUSER='USERNAME';
$csPASS='PASSWORD';
$user=$_POST['user'];
$pass=$_POST['pass'];
if ($user==$csUSER) {
    if ($pass==$csPASS){
        $_SESSION['cdb']="1";
        header("Location: /");
        exit;
    } else {
        $passerror='<span class="errormsg">Wrong Password.</span>';
    } // END IF PASSWORD
} else {
$usererror='<span class="errormsg">Wrong Username.</span>';
} // END IF USERNAME
} // END IF $_POST
?>

Чтобы разрешить мне выполнять задачи администратора на каждой странице (входит во все страницы [вверх страницы]):

<?php
session_start();

if(isset($_SESSION['cdb'])){  
$loggedn="WORD";
}
?>

Это позволяет мнеto:

<?php
if ($loggedn=="WORD") { WHATEVER }
?>

И чтобы убедиться, что у меня есть доступ только к внутренним страницам при входе в систему (входит во все внутренние страницы):

<?php
// backend login check
if($loggedn!="WORD") {
header("Location: /"); // if not logged in, go to homepage
exit;
}
?>

Проблема в том, что она отлично работает намой компьютер, но у меня есть другой компьютер, который моя жена использует для сопоставления данных, и он не остается в системе на своем компьютере.Мы оба используем Linux (Fedora) с FF.Я прошёл когда-нибудь строчку кода на каждой странице, помогите!

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Несколько вещей для проверки:

  1. Убедитесь, что вы начинаете с чистого листа. Очистите кеш и куки в вашем браузере, чтобы убедиться, что у вас нет открытой старой сессии.
  2. Убедитесь, что данные сеанса хранятся на новом компьютере. Данные сеанса обычно хранятся в / tmp
  3. Убедитесь, что в отношении сеанса не выполняется клиентский код.
0 голосов
/ 14 июня 2011

Вызовите функцию exit после перенаправления на другую страницу, в противном случае в любом случае будет выполняться следующий код, что может привести к странному поведению.

if($loggedn != "WORD")
{
  // redirect to login page
  header("Location: login.php");
  exit;
}
// the following code will be executed if exit is not called
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...