Как передать информацию о сеансе в подкаталог в php - PullRequest
0 голосов
/ 03 марта 2011

Я создаю простой веб-сайт на PHP, в который пользователи могут войти.

Все страницы в корневом каталоге работают нормально, но когда я пытаюсь запустить сеанс на веб-странице в подкаталоге, он не читает его

Это то, что у меня есть в начале веб-страниц в подкаталоге, что, как я уже сказал, прекрасно работает для каждой страницы в корневом каталоге -

session_start();
if(!session_is_registered(myusername)){
header("location: http://www.four-corners.org.uk/welcome.php");

похоже, что у нескольких людей одна и та же проблема, но я пока не нашел решения

Редактировать -

Ниже приведен код, который я использовал для определения 'myusername' и регистрации его в сеансе

// Define $myusername and $mypassword 
$myusername=$_POST['myusername']; 
$mypassword=md5($_POST['mypassword']);

// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword"); 

1 Ответ

2 голосов
/ 03 марта 2011

session_is_registered() устарела и не должна использоваться.

Эквивалентный "современный" код будет

session_start();
if (!isset($_SESSION[myusername])) {
  ...
}

Обратите внимание, что я точно продублировал ваше 'myusername'.Без знака $ перед ним он рассматривается как константа.Если вы не использовали define() для установки этой константы, она будет иметь нулевое значение и будет приведена к пустой строке перед переходом в session_is_registered.Если в вашем сеансе не указано значение с пустой строкой в ​​качестве ключа, вы будете перенаправляться каждый раз.

...