Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > почему не ставятся куки


Автор: sugee 12.9.2005, 16:35
Почему не ставятся куки?
Код

if(!isset($_COOKIE['log'])&&!isset($_COOKIE['passwd']))
{
setcookie("log",$HTTP_POST_VARS['log'],0,"","",0);
setcookie("passwd",$HTTP_POST_VARS['passwd'],0,"","",0);
}


Автор: PARROT 12.9.2005, 16:49
Может конфликт из-за одинаковых имен кук и переменных?
Код

setcookie("log_с",$_POST['log'],time()+3600, "/");
setcookie("passwd_с",$_POST['passwd'],time()+3600, "/");


Автор: sugee 12.9.2005, 17:45
Так и есть, кука поставилась - большое спасибо!

Автор: IZ@TOP 14.9.2005, 11:28
Срочно register_globals в OFF!

Автор: Opik 15.9.2005, 13:35
IZ@TOP
register_long_arrays туда же smile

Автор: sugee 15.9.2005, 17:14
Цитата(IZ @ 14.9.2005, 11:28)
Срочно register_globals в OFF!

Уважаемый, а где вы тут увидели register_globals=On?

Цитата(Opik @ 15.9.2005, 13:35)
register_long_arrays туда же

А что это за зверь и чем он опасен?

Автор: Opik 15.9.2005, 17:26
sugee
Цитата
Уважаемый, а где вы тут увидели register_globals=On?

Ваш пример:
Код

setcookie("log",$HTTP_POST_VARS['log'],0,"","",0);
setcookie("passwd",$HTTP_POST_VARS['passwd'],0,"","",0);

При register_globals = on
$log = $_COOKIE['log'];
$log = $_POST['log'];
т.е 2 параметра из разных массивов стремятся "завладеть" одной переменной. smile При register_globals = off такого не будет.
Цитата
А что это за зверь и чем он опасен?

ничем не опасен. скорее это показатель хорошего тона программирования.
Начиная с PHP 4.2.0 (вроде) ввели суперглобальные массивы: $_COOKIE, $_POST, $_GET, $_REQUEST, $_SERVER... которые предпочтительнее использовать, нежели $HTTP_COOKIE_VARS и т.д.

Автор: Anarki 15.9.2005, 20:04
Стандартная схема GPC: GET, POST, COOKIE при register_globals On. Так что переменные из cookies получают верное значение.

Автор: lina 16.9.2005, 10:53
Anarki, register_globals в любом случае лучше делать off. Куки конечно получат верное значение, но автоматическая регистрация, например,Get-переменных не самым лучшим образом повлияет на безопасность сайта smile

Автор: kирилл 16.9.2005, 21:45
IZ@TOP

Цитата(IZ @ 14.9.2005, 11:28)
Срочно register_globals в OFF!

Если ее в off, то как передавать, например, переменные сессии без куки?

Автор: PARROT 16.9.2005, 22:25
kирилл, сессии http://php.rinet.ru/manual/ru/function.session-start.php
куки http://php.rinet.ru/manual/ru/function.setcookie.php

Автор: kирилл 16.9.2005, 22:29
PARROT
Да я вроде разобрался...
А здесь я писал про php.ini

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)