2012-04-23 2 views
-1

Возможно, есть лучший способ использовать куки. Но я хочу установить в своем php что-то, чтобы сообщить пользователю об ошибке, но только когда она появилась, если обновить страницу, я больше ее не хочу.Php cookie установлен только на 1 секунду?

$time = (1000); 
setcookie("msgtype", $type, time() + ($time), '/'); 
setcookie("msg", $message, time() + ($time), '/'); 
print_r($_COOKIE); 

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

Любые идеи?

ответ

1

Вместо этого, при отображении ошибки очистить куки, вместо того, чтобы он установлен на 1 секунду, так что, когда он обновляет следующий раз & проверяет куки не будет там и так не будет отображаться какая-либо ошибка.

Or a better option would be using sessions.

+0

Это правда .... моя логика кажется ошибочной –

+0

Да, при использовании сеансов время окончания истекает до бесконечности (большое значение) и уничтожает файл cookie, когда его задача закончена. – gopi1410

+0

спасибо за помощь :) –

1

Вам не нужно использовать куки для этого, используя звуки SESSION.

$_SESSION['error'] = 'soem message'; 
//Use it when you need and simply remove it afterwards 
echo $_SESSION['error']; 
unset($_SESSION['error']); 
+0

ye, я хотел этот раз. Первоначально я имел его как 1, 1 миллисекунду, так как он обрабатывался в том же скрипте. Но для устранения проблем я поставил его на 1000 –

+0

@JamieHutber, см. Обновление – Starx

+0

Большое спасибо, grr, что пустая трата времени: p Просто добавила unset на самой странице, а не пыталась сделать это умно. –

0

В вас примере я буду использовать SESSIONS

пример набора:

session_start() 
$_SESSION['error'] = 1; 

когда появится ошибка использовать это :)

unset($_SESSION['error']; 

или

$_SESSION['error'] = 0; 

это будет зависеть от использования :)

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