![]() |
Как установить cookie?
Простите за ламерский вопрос но я только начал этим заниматься и никак не пойму как мне правильно установить куки:
<form action="<?=$SCRIPT_NAME?>" method=post> <a class="info"><center>Для получения информации введите логин и пароль :</a><br><br> <br> <center><b>Введите логин </b> <input type=text name="login"><br><br> <center><b>Введите пароль</b> <input type=password name="parol"><br><br> <center><input type=submit name="doGo" value="Нажать"><br> </form> <? setcookie('login', @$login, time()+360000000, '/', '', 0); ?> и Выдается что Warning: Cannot modify header information - headers already sent by Не подскажите как правильно определить куки, чтобы человек введя один раз свой логин потом уже при заходе на эту же страницу сразу же видел его ? |
потому как заголовками обмениваются узлы до вывода тела, на то они и головы(headers)
вот Вам и пишет : не возможно изменить уже отправленые заголовки |
Верно. Любые заголовки (а куки ими же и устанавливаются) необходимо отсылать до любого вывода html-кода, даже пробела.
|
А почему здесь не читает из файла,
когда пишу header("Location: ass.php");? PHP код:
|
header("Location: ass.php"); это же перенаправление на другую страницу-то есть будет всё до этого кода выполнено, а дальше загружается другая страница
|
Location - это место нахождения Host-a (см. ниже пример с гуглом)
если сервер(в данном случае ваш скрипт на сервере, который добавляет дополнительный заголовок к заголовкам сервера) говорит клиенту(см. ниже: в моем случае ПА IE) что хост переехал, то клиент как бы получает команду повторно отправить заголовки но на нужный хост. И отвечать уже будет на запрос совсем другой хост (в вашем случае ass.php) т.е. дальше идет обмен заголовками со страницей ass.php а уже потом в соответствии с запросом клиента и ответом сервера чтото происходит:) например загрузка контента. к примеру: при запросе http://google.com: GET / HTTP/1.1 Accept: application/x-shockwave-flash, */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Host: google.com Connection: Keep-Alive Cookie: PREF=ID=195bb6eee8d115d3:CR=1:TM=1115666067:LM=1115666067:S=VWDUsZTRAP5WKWj_ HTTP/1.1 302 Found Location: http://www.google.com/ Content-Type: text/html Server: GWS/2.1 Transfer-Encoding: chunked Content-Encoding: gzip Date: Wed, 18 May 2005 19:01:53 GMT Cache-Control: private, x-gzip-ok="" GET / HTTP/1.1 Accept: application/x-shockwave-flash, */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Cookie: PREF=ID=195bb6eee8d115d3:CR=1:TM=1115666067:LM=1115666067:S=VWDUsZTRAP5WKWj_ Connection: Keep-Alive Host: www.google.com HTTP/1.1 302 Found Location: http://www.google.ru/ Content-Type: text/html Server: GWS/2.1 Transfer-Encoding: chunked Content-Encoding: gzip Date: Wed, 18 May 2005 19:01:54 GMT Cache-Control: private, x-gzip-ok="" GET / HTTP/1.1 Accept: application/x-shockwave-flash, */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Connection: Keep-Alive Host: www.google.ru Cookie: PREF=ID=cdccb6d48e64161d:LD=ru:TM=1115666067:LM=1115666068:S=CqwV4YatIJYTMkko HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html Content-Encoding: gzip Server: GWS/2.1 Content-Length: 1586 Date: Wed, 18 May 2005 19:01:55 GMT |
кроме того в этих запросах можно проследить как передается контент кука "гугл" от меня, что бы сервер(гугл) уже использовал эту инфу.
|
если уже совсем серьездно подходить, то вы должны в заголовках отдавать ошибку 302.
например это можно настроить на сервере, и при этой ошибке сервер должен объявлять новое место для запроса |
нет header("Location: ass.php"); делает перенаправления
сам на себя ass.php, производит запись, но не считывает, как написать правильно? |
Он считывает, считывает, не переживай. Тут можно применить следующую аналогию: ты говоришь человеку-молнии (персонаж американских комиксов из глубин моего даром прожитого детства :)): "Сгоняй в Австралию... а еще, я хотел сказать, что ты придурок!". Так вот, стимул сгонять куда-либо это твой заголовок, выражение твоего к нему отношения - вывод данных взятых из файла. Беда только в том, что он их не услышит (не отобразится в броузере) потому как на то он и человек-молния - быстрый придурок. Просто (не знаю конкретное внутреннее поведение АП) заголовок, скорее всего имеет больший приоритет - зачем отрисовывать страницу, когда тебя послали... на другую? :)
|
Время: 21:21. |
Время: 21:21.
© OSzone.net 2001-