ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

setcookie


(PHP 3, PHP 4)

setcookie - отправляет куки.

Описание

int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

setcookie() определяет куку для отправки вместе с остальной header-информацией. Куки обязаны быть отправлены до любых других шапок/headers (это ограничение кук, а не РНР). Это требует, чтобы вы помещали вызовы этой функции перед тэгами <html> или <head>.

Все аргументы, кроме name, являются необязательными. Если имеется только аргумент name, кука с этим именем будет удалена с удалённого клиента. Вы можете также заместить любой аргумент пустой строкой (""), чтобы пропустить этот аргумент. Аргументы expire и secure это целые числа/integer и они не могут быть пропущены с помощью пустой строки. В них используйте нуль (0). Аргумент expire это обычное Unix time integer, возвращаемое функциями time() или mktime(). Аргумент secure указывает, что данная кука должна передаваться только через секретное HTTPS-соединение.

После того как куки установлены, доступ к ним может быть получен при загрузке следующей страницы через массив $_COOKIE (который вызывается $HTTP_COOKIE_VARS в версиях PHP до 4.1.0).

Обычные ловушки:

  • Куки будут невидимы до тех пор, пока не будет загружена следующая страница.

  • Куки обязаны быть удалены с теми же параметрами, с которыми были установлены.

В PHP 3 множественные вызовы setcookie() в том же скрипте могут быть выполнены в реверсном порядке. Если вы пытаетесь удалить одну куку до вставки другой, вы должны сделать вставку до удаления. В PHP 4 множественные вызовы setcookie() выполняются в порядке вызова.

Далее идут примеры отправки кук:

Пример 1. Отправка кук функцией setcookie()
setcookie ("TestCookie", $value);
setcookie ("TestCookie", $value,time()+3600);  /* период действия - 1 час */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);

При удалении куки вы должны убедиться, что дата окончания действия прошла, чтобы переключить механизм в вашем браузере. Далее идут примеры удаления куки, созданной в предыдущем примере:

Пример 2. Удаление куки с помощью setcookie()
// установить дату окончания действия на один час назад
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);

Обратите внимание, что часть value куки будет автоматически urlencoded при отправке куки, и, когда она получена, она автоматически декодируется и присваивается переменной с тем же именем, что и имя куки. Для просмотра содержимого нашей тестовой куки в скрипте просто используйте один из следующих примеров:

echo $TestCookie;
echo $_COOKIE["TestCookie"];

Вы можете также установить куки массива, используя нотацию в имени куки. Это даёт эффект установки стольких кук, сколько элементов в этом массиве, но, когда кука получается скриптом, значения помещаются в массив с именем куки:

setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
    while (list ($name, $value) = each ($cookie)) {
        echo "$name == $value<br>
";
    }
}

О куках дополнительно см. спецификацию Netscape по адресу: http://www.netscape.com/newsref/std/cookie_spec.html.

Microsoft Internet Explorer 4 с Service Pack 1 некорректно работает с куками, которые имеют установленный параметр path.

Netscape Communicator 4.05 и Microsoft Internet Explorer 3.x обрабатывают куки некорректно, если path и time не установлены.




Другие функции на s:

sem_acquire
sem_release
serialize
sesam_affected_rows
sesam_commit
sesam_connect
sesam_diagnostic
sesam_execimm
sesam_fetch_array
sesam_fetch_result
sesam_num_fields
sesam_query
session_cache_expire
session_cache_limiter
session_decode
session_encode
session_get_cookie_params
session_id
session_is_registered
session_name
session_save_path
session_set_save_handler
session_start
session_unregister
session_write_close
settype
set_file_buffer
set_time_limit
shmop_open
shmop_read
shmop_size
shm_attach
shm_detach
shm_get_var
shm_remove_var
show_source
similar_text
sinh
sleep
snmprealwalk
snmpwalkoid
snmp_set_quick_print
socket_accept
socket_bind
socket_close
socket_connect
socket_create_listen
socket_create_pair
socket_getsockname
socket_iovec_add
socket_iovec_set
socket_last_error
socket_listen
socket_read
socket_readv
socket_select
socket_send
socket_sendmsg
socket_sendto
socket_set_option
socket_shutdown
socket_strerror
socket_writev
sort
soundex
split
spliti
sprintf
sql_regcase
sqrt
srand
sscanf
stat
strcspn
strftime
stripcslashes
strip_tags
stristr
strlen
strnatcasecmp
strnatcmp
strpos
strrpos
strspn
strstr
strtolower
strtotime
strtr
strval
str_repeat
substr
substr_replace
SWFAction
SWFBitmap->getHeight
SWFBitmap->getWidth
SWFbutton->addAction
SWFbutton->addShape
SWFbutton->setAction
SWFbutton->setOver
SWFbutton->setUp
swfbutton_keypress
SWFDisplayItem->addColor
SWFDisplayItem->move
SWFDisplayItem->moveTo
SWFDisplayItem->Rotate
SWFDisplayItem->rotateTo
SWFDisplayItem->scale
SWFDisplayItem->scaleTo
SWFDisplayItem->setDepth
SWFDisplayItem->setRatio
SWFDisplayItem->skewX
SWFDisplayItem->skewXTo
SWFDisplayItem->skewY
SWFFill->skewXTo
SWFFont
swffont->getwidth
SWFGradient->addEntry
SWFMorph
SWFMorph->getshape1
SWFMorph->getshape2
SWFMovie
SWFMovie->nextframe
SWFMovie->setbackground
SWFShape
SWFShape->drawLine
SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape->setLine
SWFSprite
SWFSprite->nextframe
SWFSprite->setframes
SWFText->addString
SWFText->getWidth
SWFText->setFont
SWFTextField
SWFTextField->align
SWFTextField->setbounds
SWFTextField->setcolor
SWFTextField->setFont
SWFTextField->setHeight
SWFTextField->setindentation
SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField->setname
swf_actiongotoframe
swf_actionnextframe
swf_actionplay
swf_actionprevframe
swf_actionsettarget
swf_actiontogglequality
swf_actionwaitforframe
swf_addbuttonrecord
swf_addcolor
swf_definebitmap
swf_defineline
swf_definepoly
swf_definetext
swf_endbutton
swf_endsymbol
swf_fontslant
swf_getfontinfo
swf_labelframe
swf_modifyobject
swf_mulcolor
swf_nextid
swf_openfile
swf_ortho2
swf_perspective
swf_placeobject
swf_polarview
swf_popmatrix
swf_removeobject
swf_scale
swf_setfont
swf_setframe
swf_shapearc
swf_shapecurveto
swf_shapefillbitmaptile
swf_shapefilloff
swf_shapelineto
swf_shapemoveto
swf_startdoaction
swf_startshape
swf_startsymbol
swf_textwidth
swf_translate
swf_viewport
sybase_affected_rows
sybase_close
sybase_fetch_array
sybase_fetch_field
sybase_fetch_object
sybase_fetch_row
sybase_field_seek
sybase_min_error_severity
sybase_min_server_severity
sybase_num_fields
sybase_num_rows
sybase_query
symlink
syslog
system


EXPERTGS.ru описание функций php.