Как установить cookie?
-
vagner_HATE
Как установить cookie?
Простите за ламерский вопрос но я только начал этим заниматься и никак не пойму как мне правильно установить куки:
Re: Как установить cookie?
потому как заголовками обмениваются узлы до вывода тела, на то они и головы(headers)
вот Вам и пишет : не возможно изменить уже отправленые заголовки
вот Вам и пишет : не возможно изменить уже отправленые заголовки
-
Prisoner
Re: Как установить cookie?
Верно. Любые заголовки (а куки ими же и устанавливаются) необходимо отсылать до любого вывода html-кода, даже пробела.
-
slaine
Re: Как установить cookie?
А почему здесь не читает из файла,
когда пишу header("Location: ass.php");?
когда пишу header("Location: ass.php");?
Код: Выделить всё
<?
if (isset($_GET['aaa'])){
header("Location: ass.php");
$a = $_GET['aaa'];
$file = fopen("password.txt", "a+");
fwrite($file, $a);
fclose($file);
$file = fopen("password.txt", "r");
$s = fread($file, 100);
echo $s;
fclose($file);
}
?>
<form action=ass.php method=get>
<input type="text" name=aaa size=10>
<input type="submit">
</form>-
vadimiron
Re: Как установить cookie?
header("Location: ass.php"); это же перенаправление на другую страницу-то есть будет всё до этого кода выполнено, а дальше загружается другая страница
Re: Как установить cookie?
Location - это место нахождения Host-a (см. ниже пример с гуглом)
если сервер(в данном случае ваш скрипт на сервере, который добавляет дополнительный заголовок к заголовкам сервера) говорит клиенту(см. ниже: в моем случае ПА IE) что хост переехал, то клиент как бы получает команду повторно отправить заголовки но на нужный хост. И отвечать уже будет на запрос совсем другой хост (в вашем случае ass.php)
т.е.
дальше идет обмен заголовками со страницей ass.php а уже потом в соответствии с запросом клиента и ответом сервера чтото происходит
например загрузка контента.
к примеру:
при запросе
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:
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:
HTTP/1.1 302 Found
Location:
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:
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
если сервер(в данном случае ваш скрипт на сервере, который добавляет дополнительный заголовок к заголовкам сервера) говорит клиенту(см. ниже: в моем случае ПА 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
Re: Как установить cookie?
кроме того в этих запросах можно проследить как передается контент кука "гугл" от меня, что бы сервер(гугл) уже использовал эту инфу.
Re: Как установить cookie?
если уже совсем серьездно подходить, то вы должны в заголовках отдавать ошибку 302.
например это можно настроить на сервере, и при этой ошибке сервер должен объявлять новое место для запроса
например это можно настроить на сервере, и при этой ошибке сервер должен объявлять новое место для запроса
-
slaine
Re: Как установить cookie?
нет header("Location: ass.php"); делает перенаправления
сам на себя ass.php, производит запись, но не считывает,
как написать правильно?
сам на себя ass.php, производит запись, но не считывает,
как написать правильно?
-
Prisoner
Re: Как установить cookie?
Он считывает, считывает, не переживай. Тут можно применить следующую аналогию: ты говоришь человеку-молнии (персонаж американских комиксов из глубин моего даром прожитого детства
): "Сгоняй в Австралию... а еще, я хотел сказать, что ты придурок!". Так вот, стимул сгонять куда-либо это твой заголовок, выражение твоего к нему отношения - вывод данных взятых из файла. Беда только в том, что он их не услышит (не отобразится в броузере) потому как на то он и человек-молния - быстрый придурок. Просто (не знаю конкретное внутреннее поведение АП) заголовок, скорее всего имеет больший приоритет - зачем отрисовывать страницу, когда тебя послали... на другую? 
): "Сгоняй в Австралию... а еще, я хотел сказать, что ты придурок!". Так вот, стимул сгонять куда-либо это твой заголовок, выражение твоего к нему отношения - вывод данных взятых из файла. Беда только в том, что он их не услышит (не отобразится в броузере) потому как на то он и человек-молния - быстрый придурок. Просто (не знаю конкретное внутреннее поведение АП) заголовок, скорее всего имеет больший приоритет - зачем отрисовывать страницу, когда тебя послали... на другую? 