2013-03-04 3 views
0

У меня есть сценарий входа, который помещает детали пользователя в переменные сеанса. Сегодня я переместил сайт на новый хост, и теперь моя кодировка не работает. Это лучшее, что я могу сделать, и она до сих пор не работает

main_login.php:

(script above here gets all the $info from the database. So far it is working) 
if($count==1){ 
    session_start(); 
    $_SESSION['username'] = $info['username']; 
    $_SESSION['given'] = $info['given_name']; 
    $_SESSION['family'] = $info['family_name']; 
    $_SESSION['profile'] = $info['profile']; 
    $_SESSION['adultchild'] = $info['adultchild']; 
    $_SESSION['id'] = $info['id']; 
    header("location:welcome.php"); 
} 

welcome.php:

// Check if session is not registered , redirect back to main page. 
// Put this code in first line of web page. 
session_start(); 
if(!isset($_SESSION['username'])){ 
    header("location:main_login.php"); 
} 

Беда в том, когда я печатаю любой из переменных сеанса ничего не происходит. Я даже пробовал делать var_dump($_SESSION), но он появляется как пустой массив. Честно говоря, я провел весь день на этом и застрял.

+0

Проверьте конфигурацию, если поддержка сеанса включена, и проверить печенье, если 'PHPSESSID' печенье создается на всех. –

+0

, вероятно, он не вводит ваш if ($ count == 1), никакое другое объяснение для того, что массив пуст – Johny

+0

Вероятно, домен домена cookie установлен неправильно, поэтому cookie отправляется, но браузер отказывается принимать/отправлять файлы cookie поскольку домен не является правильным. –

ответ

1
session_start(); 
if(!isset($_SESSION['username'])); 
    header("location:main_login.php"); 
} 

изменение:

session_start(); 
if(!isset($_SESSION['username'])){ 
//        ^typing mistake 
    header("location:main_login.php"); 
} 
+0

ah извините, только что отметили, и это была опечатка, когда я копировал ее здесь – StaljaBro

+0

Ваша отредактированная версия все еще остается печатной ошибкой>< –

Смежные вопросы