Forum Webscript.Ru

Программирование => PHP => Тема начата: alex007 от 20 Декабря 2002, 00:30:11

Название: Чтение cookies..
Отправлено: alex007 от 20 Декабря 2002, 00:30:11
Облазив FAQ по PHP и поиск на этом форуме, я не нашел ни кусочка кода, каким макаром я могу прочитать куки.

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

Жду Ответов.

С Уважением,
Алекс.
Название: Чтение cookies..
Отправлено: Меняздесьдавнонет от 20 Декабря 2002, 01:39:48
http://faq.phpclub.net/tank
Название: Чтение cookies..
Отправлено: alex007 от 20 Декабря 2002, 02:16:44
RomikChef
Да я там уже был и читал.
Название: Чтение cookies..
Отправлено: Меняздесьдавнонет от 20 Декабря 2002, 02:33:43
значит, плохо читал.
на прошлой странице пользовательчто-то ввел, отправил на сервер, сервер куку установил, но прочесть не успел.
так что ты или точнее формулируй, или меняй условия.

пришедшие куки лежат в массиве
$_COOKIE
перенаправляет - header("Location: /kuda.nado") ;
Название: Чтение cookies..
Отправлено: alex007 от 20 Декабря 2002, 14:17:19
RomikChef
На странице пользователь заполняет форму с элемениами: именя пользователя и пароль, все это дело проверяется(это уже другая тема), но я еще ввожу эти элементы в куки через Perl следующим образом:
$cookie = $query->cookie(-name=>"username",
-value=>"$FORM{\'username\'}",
-expires=>"+3h",
-domain=>".domen.ru",
 -secure=>0);
$cookie2 = $query->cookie(-name=>"password",
-value=>"$FORM{\'password\'}",
-expires=>"+3h",
-domain=>".domen.ru",
-secure=>0);
$cookie3 = $query->cookie(-name=>"ipaddress",
-value=>$ENV{\'HTTP_CLIENT_IP\'},
-expires=>"+3h",
-domain=>".domen.ru",
-secure=>0);               
print $query->header(-cookie=>[$cookie1,$cookie2,$cookie3]);
После это пользователя перенаправляю на его отдельную страницу(php). Так на вот этой странице(php), мне надо проверить стоят ли эти куки, если стоят то проверить значения, если значения стоят те же самые, то не фига не делать, а если кук этих нет или значения просто напросто истекли(так как куки только на три часа), то пользователя перенаправить на другую страницу.

Теперь понятно?
Название: Чтение cookies..
Отправлено: Меняздесьдавнонет от 20 Декабря 2002, 14:37:42
спасибо, родной.
Мне как раз для полного счастья в жизни не хватало подробного описания, чего ты в куки пихаешь клиенту.
правда, логику общения клиента с сервером я так и не услышал, ну да ладно - будем считать, что кука-таки ставится.

ты скажи - вопрос свой решил?
Где куки лежат - я тебе сказал.
Ту не знаешь, как в PHP посмотреть элемент массива?
Как сравнивать?
Название: Чтение cookies..
Отправлено: alex007 от 20 Декабря 2002, 14:53:31
Цитировать
чего ты в куки пихаешь клиенту.

Если ты про IP адресок, так это для защиты.

Цитировать
ты скажи - вопрос свой решил?

Нет

Цитировать
Ту не знаешь, как в PHP посмотреть элемент массива?
Как сравнивать?

Ты абсолютно прав!
Название: Чтение cookies..
Отправлено: Меняздесьдавнонет от 20 Декабря 2002, 20:09:26
Так бы и писал - не умею писать программы на РНР.
http://faq.phpclub.net/newbie
Посмотри пару примеров.
Синтаксис настолько похож на перл, что написать эту проверку не составит труда.
Название: Чтение cookies..
Отправлено: alex007 от 23 Декабря 2002, 20:47:35
RomikChef
Не подскажешь будет ли работать следуещее:
if(\\$HTTP_COOKIE_VARS["username"] == "username") {
if(\\$HTTP_COOKIE_VARS["password"] == "password"){
echo("");
} else {
header("Location: http://www.domen.ru/error-authorization.html");
}
}
?>
Название: Чтение cookies..
Отправлено: Меняздесьдавнонет от 23 Декабря 2002, 21:18:57
не будет.
Выдаст синтаксическую ошибку, поскольку знак \\ перед именем переменной не имеет смысла.
Вот так будет  работать

if($HTTP_COOKIE_VARS["username"] <> "username" or $HTTP_COOKIE_VARS["password"] <> "password")
header("Location: http://www.domen.ru/error-authorization.html");
Название: Чтение cookies..
Отправлено: Tronyx от 24 Декабря 2002, 14:16:11
alex007 в PHP есть функция для создания кук, называется она setcoocie(), вот её и надо использовать, а не заниматься ерундой с заголовками!

alex007 вообщем сходи в магазин, за книжкой т.к. ты совершенно не знаешь PHP.
Название: Чтение cookies..
Отправлено: alex007 от 24 Декабря 2002, 15:02:15
RomikChef
Спасибо. Символ "\\", я по ошибке скопировал, так как я одну неплохую програмку пиши в Perle, которая создает автоматически PHP страницы, этот символ в перле перед $,
он делает следующее:
в Perl - в PHP
\\$HTTP_COOKIE_VARS["username"] - $HTTP_COOKIE_VARS["username"]
Вот ссылка для дополнительной информации: http://forums.webscript.ru/showthread.php?s=&postid=64113#post64113

Tronyx
Так мне, не надо создавать их, мне простно надо было их прочесть. вот и все!!!

Tronyx
А книга у меня есть "Beginning PHP4". И вообще не понимаю нафиг тогда этот форум, если все время ссылаться на книги.
Название: Чтение cookies..
Отправлено: Tronyx от 24 Декабря 2002, 15:36:11
Цитировать
Так мне, не надо создавать их, мне простно надо было их прочесть. вот и все!!!

Какая разница надо, ненадо... главное то что делаешь ты это через ж...
Цитировать
А книга у меня есть "Beginning PHP4".

Тогда прочти её.;)
Цитировать
". И вообще не понимаю нафиг тогда этот форум, если все время ссылаться на книги.

Почему это всё время?! За книгой отправляют тех кто не знает основ.
Название: Чтение cookies..
Отправлено: alex007 от 24 Декабря 2002, 17:08:33
Tronyx
Цитировать
Какая разница надо, ненадо... главное то что делаешь ты это через ж...

А как не через .опу, тоесть в сесиях??

Цитировать
Почему это всё время?!

Да потому что всех новичков и посылают, нет что бы помочь как это сделал RomikChef.