Примечание: эта проблема уже решена,
наконец я обнаружил, что это не печенье
проблема, проблема на
функция unserialize (). Сериализованный
cookie, который является параметром
эта функция должна быть зачеркнута
первый.
Привет, у меня проблема с PHP Cookies. Я использую PHP Cookies для сохранения пользовательских настроек. Я проверил мой код на моей локальной машине (localhost с использованием XAMPP). Все работает очень хорошо, включая печенье. Но когда я загрузил его на действующий сервер, куки не работают вообще. Кажется, что функция setcookie () не записывает значение cookie. Я проверил, отображая значение cookie как на моем локальном, так и на моем живом сервере. Значение $ _COOKIE [] на локальном хосте отображается, но не совпадает со значением на работающем сервере.
Я подумал, что это может быть связано с часовым поясом $ expire, как в этом посте http://anupraj.com.np/index.php/php-cookies-not-working-php-cookie-tutorial-and-scirpt/14. Но потом я понял, что установил срок действия файлов cookie через 1 месяц, а не только через час, как в этом сообщении в блоге. Так что я думаю, что это не так.
Это содержание setting.php
<?php
$defaultSettings['default_post_to'] = 'both';
$defaultSettings['timesince_style'] = 'simplify';
...
$defaultSettings['display_geo_info'] = 'true';
$defaultSettings['enable_javascript'] = 'true';
if(!isset($_COOKIE['settings'])){
setcookie("settings", serialize($defaultSettings), time()+3600*24*30);
header('Location: index.php');
}
$setting = unserialize($_COOKIE['settings']);
?>
А это содержимое index.php
<?php
/*
ini_set ("display_errors", "1");
error_reporting(E_ALL);
*/
session_start();
require_once("settings.php"); // Settings files
require_once('varlib.php'); // Get all possible passed variable
require_once('auth.php'); // Check for channel login status
// If inputbar form submitted
if( $_POST['inputbox'] ){
...
}
else{
echo "SETTING COOKIE: <br/><br/>";
// This print_r is only showing the $_COOKIE value (which is stored on $setting) on localhost but no on live server
print_r($setting);
switch( $com ){
...
}
}
?>
Я везде об этом обыскиваю (Google, stackoverflow, спрашиваю друзей по twiiter / FB), но пока нет решений
Я надеюсь, что какое-то тело может дать мне решение здесь
Спасибо:)