setcookie("test", "value_cookie');
echo $_COOKIE['test'];
а не так:
echo $_COOKIE['test'];
setcookie("test", "value_cookie');
Ну вот вроде. решил потестить. написал код который мне дали. Мне ничего не вывело. После рефреша вывело. Это значит, что все таки заголовки послались после вывода. почему? У человека, который выкладывал тот урок, все работало. а у меня нет. Может у интерпретатора в настройках что-то не прописана?
Спустя 3 минуты, 42 секунды (20.09.2012 - 15:42) Winston написал(а):
Цитата (Shkiper @ 20.09.2012 - 15:38) |
Мне ничего не вывело |
Максимальный уровень ошибок выстави и получишь нотис
Спустя 1 минута, 54 секунды (20.09.2012 - 15:44) Shkiper написал(а):
Winston у меня стоит error_reporting(E_ALL | E_STRICT); и нечего не вывело. Да и зачем мне нотис. У него с первого раза вывело куку а у меня только после рефреша - почему?
Спустя 8 минут, 23 секунды (20.09.2012 - 15:52) 123456 написал(а):
Цитата |
У него с первого раза вывело куку а у меня только после рефреша - почему? |
Ты открываешь данный скрипт, и кука создается, а при обновлении она выводится! Не может быть такого, что в одном скрипте(на одной странице) за раз создается кука и выводится
Спустя 1 минута, 24 секунды (20.09.2012 - 15:54) 123456 написал(а):
Цитата |
Максимальный уровень ошибок выстави и получишь нотис |
Цитата |
у меня стоит error_reporting(E_ALL | E_STRICT); и нечего не вывело. |
хм...
Спустя 1 минута, 43 секунды (20.09.2012 - 15:56) Shkiper написал(а):
Нет работать должно. Ведь например если мы посылаем заголовок браузеру, например не кэшировать страницу, то эту же страницу(без рефреша) браузер не будет ее кэшировать. Но ведь когда мы создаем куки он тоже посылает заголовок, и он должен их сразу вывести.
Спустя 38 секунд (20.09.2012 - 15:56) Winston написал(а):
Та тебе уже, должно было вывести предупреждение, за то, что ты использовал echo до вызова setcookie
Спустя 1 минута, 4 секунды (20.09.2012 - 15:57) neadekvat написал(а):
Цитата (123456 @ 20.09.2012 - 16:52) |
Не может быть такого, что в одном скрипте(на одной странице) за раз создается кука и выводится |
Речь о единоразовом запуске скрипта, а не про один скрипт, я так думаю.
Обычно делают примерно так:
if (isset($_COOKIE['name']))
$cookie = $_COOKIE['name'];
else {
$cookie = 'default';
setcookie('name', 'value');
}
Спустя 1 минута, 33 секунды (20.09.2012 - 15:59) Shkiper написал(а):
Цитата (123456 @ 20.09.2012 - 12:54) | ||||
хм... |
тьфу ты. Я там короче колдовал, шуры-муры то да се и короче вывод ошибок закоментил. Теперь вылез нотис.(это так для пояснения)
Спустя 1 минута, 9 секунд (20.09.2012 - 16:00) neadekvat написал(а):
Цитата (Shkiper @ 20.09.2012 - 16:56) |
Но ведь когда мы создаем куки он тоже посылает заголовок, и он должен их сразу вывести. |
Путаешься.
setcookie() ничего не отправляет. Он добавляет параметр в единый заголовок (он правда один), а заголовок от сервера отправляется ровно тогда, когда начинается вывод в поток (буковки и циферки на экран) или скрипт заканчивает работу.
Спустя 2 минуты, 7 секунд (20.09.2012 - 16:02) Shkiper написал(а):
neadekvat ну а почему тогда у него работало?
Спустя 11 секунд (20.09.2012 - 16:02) 123456 написал(а):
Цитата (neadekvat @ 20.09.2012 - 12:57) | ||
Речь о единоразовом запуске скрипта, а не про один скрипт, я так думаю. Обычно делают примерно так: if (isset($_COOKIE['name'])) |
ну только если так... А по другому никак
Спустя 3 минуты, 5 секунд (20.09.2012 - 16:05) neadekvat написал(а):
Цитата (Shkiper @ 20.09.2012 - 17:02) |
ну а почему тогда у него работало? |
Что у кого работало?
Цитата (123456 @ 20.09.2012 - 17:02) |
ну только если так... А по другому никак |
Если не нравится писать условия, можно ввести доп. функцию для получения кукисов (там и проверка будет, и создание).
Спустя 3 минуты, 47 секунд (20.09.2012 - 16:09) 123456 написал(а):
Цитата |
Цитата (Shkiper @ 20.09.2012 - 17:02) ну а почему тогда у него работало? Что у кого работало? |
Цитата |
У человека, который выкладывал тот урок, все работало. а у меня нет. |
Спустя 8 секунд (20.09.2012 - 16:09) Shkiper написал(а):
Цитата |
Что у кого работало? |
Говорю же читал где то а где не помню
Мне нужно чтобы я на 1 странице сохранил куки и потом после того как я сохранил, их можно было прочитать. без рефреша
Спустя 3 минуты, 46 секунд (20.09.2012 - 16:13) neadekvat написал(а):
Цитата (Shkiper @ 20.09.2012 - 17:09) |
Мне нужно чтобы я на 1 странице сохранил куки и потом после того как я сохранил, их можно было прочитать. без рефреша |
Я показал, как должно быть.
Так сделать нельзя:
setcookie('name', 'value');
echo $_COOKIE['name'];
И точка.
Спустя 3 минуты, 25 секунд (20.09.2012 - 16:16) Shkiper написал(а):
neadekvat и что мне теперь location теперь делать каждый раз
Спустя 5 минут, 36 секунд (20.09.2012 - 16:22) neadekvat написал(а):
Цитата (Shkiper @ 20.09.2012 - 17:16) |
и что мне теперь location теперь делать каждый раз |
Что?
Спустя 20 часов, 50 секунд (21.09.2012 - 12:23) Shkiper написал(а):
neadekvat header location. ну теость куки создать а потом location`ом перерефрешится и только потом куки юзать?
Спустя 3 часа, 23 минуты, 44 секунды (21.09.2012 - 15:47) neadekvat написал(а):
Цитата (Shkiper @ 21.09.2012 - 13:23) |
ну теость куки создать а потом location`ом перерефрешится и только потом куки юзать? |
Я показал, какой есть вариант без использования переадресации.
Спустя 28 минут, 45 секунд (21.09.2012 - 16:15) killer8080 написал(а):
Цитата (Shkiper @ 20.09.2012 - 16:09) |
Говорю же читал где то а где не помню Мне нужно чтобы я на 1 странице сохранил куки и потом после того как я сохранил, их можно было прочитать. без рефреша |
Ну вот а говоришь, что понял что такое заголовки
setcookie устанавливает куки в заголовке ответа сервера,
$_COOKIE массив кук, из заголовков запроса клиента.
Разницу замечаешь
Спустя 4 часа, 19 минут, 45 секунд (21.09.2012 - 20:35) Shkiper написал(а):
killer8080 так то да