Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Cookies
 
 автор: Buhen   (18.05.2008 в 10:17)   письмо автору
 
 

Всем доброго времени суток:)
У меня как то странно работают cookies.
Вот устанавливаю:
<?
$refer 
urldecode(getenv('HTTP_REFERER')); 
setcookie("refer"$refertime() + 3600*24*30,$path".x.ru");
?>


куки устанавливаются, но почему то таким образом не работают:

<?
$refer = $_COOKIE['refer'];
if(isset($refer) AND $refer != '')
{
?>
<META HTTP-EQUIV="refresh" CONTENT="2; URL=<?print $refer;?>">
<?
}
else
{
?>
<META HTTP-EQUIV="refresh" CONTENT="2; URL=index.php">
<?
?>
И все время редирект идет на index.php хотя куки установлен - в опере проверяю и просто вывожу. Но почему то
<?print $_COOKIE['refer'];?>
нормально выводится! подскажите:)

   
 
 автор: Buhen   (19.05.2008 в 09:06)   письмо автору
 
   для: Buhen   (18.05.2008 в 10:17)
 

никто не знает в чем может быть проблема?

   
 
 автор: KPETuH   (19.05.2008 в 09:58)   письмо автору
 
   для: Buhen   (19.05.2008 в 09:06)
 

а если

<?
if (!empty($refer)){

   
 
 автор: Buhen   (19.05.2008 в 13:41)   письмо автору
 
   для: KPETuH   (19.05.2008 в 09:58)
 

Все равно редирект только на index.php идет хотя в куки $refer записывается

   
 
 автор: SiM(R)   (19.05.2008 в 17:27)   письмо автору
 
   для: Buhen   (19.05.2008 в 13:41)
 

[b][/b]

   
 
 автор: mihdan   (19.05.2008 в 17:05)   письмо автору
 
   для: Buhen   (18.05.2008 в 10:17)
 


<?
$refer 
= (isset($_COOKIE['refer']) && !empty($_COOKIE['refer'])) ? $_COOKIE['refer'] : null;
if(
$refer') {
 ...........
?>

   
 
 автор: Buhen   (19.05.2008 в 22:55)   письмо автору
 
   для: mihdan   (19.05.2008 в 17:05)
 

Все равно не выходит! редирект на index.php.(((

   
 
 автор: SiM(R)   (20.05.2008 в 01:25)   письмо автору
 
   для: Buhen   (19.05.2008 в 22:55)
 

А в $_COOKIE['refer'] случайно не "index.php" находиться? И какое значение имеет $path?

   
 
 автор: Buhen   (20.05.2008 в 08:25)   письмо автору
 
   для: SiM(R)   (20.05.2008 в 01:25)
 

В $_COOKIE['refer'] записывается страница ввида:http%3A%2F%2Fsite.ru%2Findex.php%3Fact%3Devents
А вот $path:
<?
                            
//Установка куки
                            
$tmppos strrpos($_SERVER['PHP_SELF'],"/") + 1;
                            
$path substr($_SERVER['PHP_SELF'], 0$tmppos);
?>

   
 
 автор: SiM(R)   (20.05.2008 в 12:02)   письмо автору
 
   для: Buhen   (20.05.2008 в 08:25)
 

Могу предположить, что файл создающий куки находится в другой папки относительно файла со скриптом использующий этот куки.

Ну, или попробуйте создать куки без указания пути и домена.

   
 
 автор: Buhen   (20.05.2008 в 14:45)   письмо автору
 
   для: SiM(R)   (20.05.2008 в 12:02)
 

файл, использующий куки, находится в корне сайта а файл, создающий куки, находится в папке includes. Но это же не меняет дело.
2mihdan опять редирект только на index.php.

   
 
 автор: SiM(R)   (20.05.2008 в 17:37)   письмо автору
 
   для: Buhen   (20.05.2008 в 14:45)
 

При создании куки Вы указываете в $path директорию, где работает данная куки. То есть в данном контретном примере ваша куки работает только в директории Includes. А для корневой директории данной куки не существует.

   
 
 автор: mihdan   (20.05.2008 в 14:42)   письмо автору
 
   для: Buhen   (20.05.2008 в 08:25)
 

<?
$refer 
rawurldecode(getenv('HTTP_REFERER')); 
setcookie("refer"$refertime() + 3600*24*30); 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования