2016-02-16 3 views
2

Мой логин, похоже, не создает cookie. Форма добирается до части создания файла cookie скрипта и даже эха, что был создан файл cookie, но он фактически не создает его.Setcookie не создает cookie

Вот печенье часть моего кода:

if (!$error) { 

    if (isset($_POST['rememberme'])) { 
     setcookie('guruemail', $loginemail, time() + 86400 * 365, '/', NULL); 
     setcookie('gurupassword', md5($loginpassword), time() + 86400 * 365, '/', NULL); 
echo "Long-term cookie made"; 
     } else { 
     setcookie('guruemail', $loginemail, false, '/', NULL); 
     setcookie('gurupassword', md5($loginpassword), false, '/', NULL); 
echo "Short-term cookie made"; 
    } 

} 

Логин может посетить в http://protein.guru/signin.phtml

Тест печенья можно ознакомиться по адресу: http://protein.guru/testcookie.php

Вот cookietest код:

<?php 
echo "Value is: " . $_COOKIE[$guruemail]; 
echo "Value is: " . $_COOKIE[$gurupassword]; 
?> 

Для входа:

Я использую электронную почту: [email protected]

пароль: рулет

Примечание: Возможная ошибка новичка? - У меня нет session_start(); где угодно в любом коде. Не уверен, что мне понадобится это для прямого входа в cookie.

Любая обратная связь будет оценена по достоинству. Всем спасибо.

+2

Вы никогда не должны хранить учетные данные для входа в печенье. –

+2

Используйте '$ _SESSION' вместо' $ _COOKIE' или вы будете просить о неудачном времени. – Err

ответ

4

Как указано в комментариях: Доступ к массивам $ _COOKIE со строками вместо переменных.

<?php 
    echo "Value is: " . $_COOKIE['guruemail']; 
    echo "Value is: " . $_COOKIE['gurupassword']; 
?> 
+3

Мне потребовалось несколько взглядов, чтобы узнать, что было в твоем ответе. FWIW, может быть полезно упомянуть о замене переменной строкой – Jeff

+0

Прекрасно работает. Большое вам спасибо. Не могу поверить, что это было так просто. – jmcgee

1

Вы будете нуждаться в кавычках переменного печенья

<?php 
echo "Value is: " . $_COOKIE['guruemail']; 
echo "Value is: " . $_COOKIE['gurupassword']; 
?> 

На самом деле было бы гораздо безопаснее использовать $_SESSION вместо этого для входа в системе пользователей, так как пользователи могут вручную установить $_COOKIE.

Более подробно в следующем ответе: Making login more secure

+0

+1 для информации. Я буду изучать сессии, но я проверю файлы cookie на базе базы данных с соленными паролями и т. Д. Должно быть хорошо, что я делаю, но у меня есть определенная озабоченность для людей, у которых отключены файлы cookie. благодаря – jmcgee

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