Короткие: По какой-то причине cookie '_sid' не извлекается некоторыми браузерами/компьютерами. Long: У меня есть 3 файла, которые я использую. /index.php, /scripts/login.php и /iframes/register.php. Теперь, когда вводится информация для входа, появляется куча стандартного материала, и пользователь входит в систему. Создается файл cookie с именем «_sid», а значение хранится в таблице mySQL.Проблемы с php isset cookie
login.php:
setcookie("_sid", $sid, 0, '/'); ?>
Теперь все компьютеры получает это печенье - я проверил на более чем 15, все прошло. Просто хотел показать вам, как я установил cookie.
Проблема заключается в index.php:
<?php
$username="x"; $password="y"; $database="z";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$loggedin=false; $team="none";
if(isset($_COOKIE['_sid'])){ //error happens here
print_r("test");
$session_id=$_COOKIE['_sid'];
Теперь ошибка происходит на комментировал линии. Исет возвращает false. Теперь обычно это будет своего рода полезный индикатор. Однако ...
Третий файл, register.php, дает пользователю возможность регистрировать других людей (не имеет значения). Важно отметить, что начало файла является таким же, как index.php.
<?php
$username="x"; $password="y"; $database="z";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$loggedin=false; $team="none";
if(isset($_COOKIE['_sid'])){
print_r("test");
$session_id=$_COOKIE['_sid'];
Этот файл, однако, работает. Правильно, isset работает. Этот файл также работает на всех 15/15 компьютерах.
Теперь, чтобы сделать это все более запутанным, index.php работает примерно с 10 из 15 компьютеров. Ошибка всегда возникает на mac (chrome, ff, safari) и Linux (проверена ff, но справедливо предположить, что хром тоже). Он работает на большинстве окон (7 + 8 с использованием chrome, ff). Однако при использовании идентичных двойных компьютеров (на призрачных os) один компьютер работал, а другой сбой (с использованием ff).
Я был на эту проблему в течение 2 дней в настоящее время, и действительно понятия не что делать ...
Является ли cookie только для входа в login.php, или есть другой файл, в котором может быть установлен файл cookie. Причина для запроса: cookie может быть специфичным для каталогов. –
Просто из любопытства, в чем причина не использовать Обработка встроенного сеанса PHP? – hank
У вас такая же проблема, когда вы используете пустой, а не isset? Есть небольшая разница, но вы можете попробовать ... –