Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > кукезы работают через раз


Автор: supervladislav 27.11.2006, 00:16
у меня есть сайт на агаве h10
там есть скрипт голосования с использованием кукезов
что-то вроде такого
Код

<?php
if(empty($_COOKIE['antialisa']))
{

$yes=0;
$no=0;
switch($_POST['golos'])
{case 1:$yes++;break;
case 2:$no++;break;
case 0:echo("вам нужно проголосовать");exit();break;
}
$stroka=file_get_contents("golos.txt");
$vse=explode("|",$stroka);
$summa[0]=$vse[0]+$yes;
$summa[1]=$vse[1]+$no;
$save=implode("|",$summa);
$file=fopen("golos.txt","w+");
fwrite($file,$save);
fclose($file);
setcookie("antialisa","1",time()+1800000);
}
else{echo("спасибо вы уже голосовали");}
?>


у меня такой вопрос почему кукезы работаю через раз иногда через два ,как енто лечить

Автор: cnill 27.11.2006, 04:14
Можно конкретнее? У меня все работает нормально...

Кукисы устанавливаются вместе с заголовком страницы, т.е. должны быть установлены до передачи браузеру какой-либо информации, возможно где-то вне этого кода браузеру уже что-либо передается, тогда кукисы не установятся.

Как вариант, ты это тестируеш в IE и жмеш на кнопку удаления кукисов, в этом случае браузер все-равно отсылает их серверу пока не нажмеш на F5..

Автор: supervladislav 27.11.2006, 22:54
Цитата(cnill @ 27.11.2006,  04:14)
Можно конкретнее? У меня все работает нормально...

Кукисы устанавливаются вместе с заголовком страницы, т.е. должны быть установлены до передачи браузеру какой-либо информации, возможно где-то вне этого кода браузеру уже что-либо передается, тогда кукисы не установятся.

Как вариант, ты это тестируеш в IE и жмеш на кнопку удаления кукисов, в этом случае браузер все-равно отсылает их серверу пока не нажмеш на F5..

да все работате вместо empty поставил isset

Автор: cnill 28.11.2006, 00:12
supervladislav, У меня с isset() не работает... :-)

Автор: supervladislav 28.11.2006, 01:07
Цитата(cnill @ 28.11.2006,  00:12)
supervladislav, У меня с isset() не работает... :-)

надо вот так 
Код

<?php

if(!isset($_COOKIE['name']))
{}
?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)