Мой Логин проверить сценарий -Неожиданное поведение при проверке куки
if($pass == $hash) setcookie("cookiename",$cookieVal);
Это сохраняет куки в Broswer. Нет проблем с этим; Я сам это проверил.
Однако на другой странице, когда я проверяю, существует ли файл cookie, он возвращает false.
if(isSet($_COOKIE['cookiename'])) echo "Cookie is set"; else echo "Not set";
Приведенный выше код печатает "Не установлено" в окне Broswer.
Кроме того, если я пытаюсь echo $_COOKIE['cookiename'];
, то Ouput ошибка Примечание: Undefined индекс: cookiename
Видимо браузер (Firefox) не может определить, печенье, хотя я могу видеть это представить, когда я проверяю мой Broswer-х вкладку параметров! Позже я также пробовал в Chrome и IE - такую же проблему.
Что я делаю неправильно?
Обновление: Когда я добавил if(isSet($_COOKIE['cookiename'])) echo "Set";
в конец скрипта проверки входа, было обнаружено мое cookie (напечатан «Set»)! Но он не обнаруживается ни на одной другой странице.
Вы не увидите «неопределенный индекс» с вызовом 'isset()', так как избегать этого уведомления является одной из его целей. Что-то еще не так ... –
Другие причины, по которым cookie может не вернуться - имя домена отличается - вы не указали путь, поэтому проверьте путь к файлу cookie в Firefox. –
Можете ли вы рассказать об этих двух адресах? (тот, где установлен файл cookie, и тот, где он будет считаться), я подозреваю, что путь по умолчанию запрещает отправку cookie на вторую страницу. – complex857