Google Chrome сразу забыл регистрационный cookie - PullRequest
0 голосов
/ 26 апреля 2010

У меня проблемы с файлами cookie в форме регистрации моего сайта.

Когда пользователь создает учетную запись, PHP устанавливает один файл cookie со своим идентификатором пользователя и один файл cookie с хешем, содержащим его пользовательский агент инесколько других вещей.Срок действия обоих файлов cookie истекает через час.

Это код, который устанавливает файл cookie после создания учетной записи

$registerHash = hash( "sha512", $_SERVER['HTTP_USER_AGENT'] . $_SERVER['HTTP_HOST'] . $_SERVER['DOCUMENT_ROOT'] );

setcookie("register_user_id", $newUserID, time() + 7200, "/");
setcookie("register_hash", $registerHash, time() + 7200, "/");

Следующая страница - это страница подтверждения, на которую отправляется электронное письмо.а затем, при желании, позволяет пользователю заполнить дополнительную информацию об учетной записи.Если пользователь продолжает заполнять еще, он использует cookie, чтобы узнать, в какую учетную запись его сохранить.В Firefox и IE он работает правильно, но в Chrome cookie-файл забывается, как только вы переходите на следующую страницу.Файл cookie просто не существует.

Вы можете увидеть проблему здесь: http://crewinyourcode.com/register/paid/

Если вы используете Chrome, вы получите сообщение об ошибке регистрации, как только вы попытаетесь пройти дальшестраница подтверждения.Однако в Firefox все работает нормально.

1 Ответ

0 голосов
/ 09 мая 2010

Оказалось, что это на самом деле была проблема с файлами, находящимися в разных каталогах, несмотря на то, что мой файл cookie был установлен на "/", и он был забыт в нескольких. Я решил это, переместив все файлы в одно и то же место.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...