Не устанавливаются куки

alex-ko3

Guest
Не устанавливаются куки

Люди подскажите плиз почему не устанавливаются куки. Использую функцию с параметрами - setcookie("name_cookie",$var_cookie).
Ошибок никаких не выдаётся. Если вставить код после функций setcookie(), то он выполняется успешно.
Пробовал заливать на другой сервер - все скрипты там славненько срабатывают, то есть все куки устанавливаются :(
Подскажите пожалуйста что не так???
Сами куки используются для авторизации. То есть потом при лазании по сайту просто проверяю - установлена кука или нет и, соответственно, допускаю к просмотру или нет!
 

alex-ko3

Guest
PHP:
if(!empty($HTTP_POST_VARS['log_user']) && !empty($HTTP_POST_VARS['pas_user']) && empty($session_nofirst))
{
//Далее проверяем есть ли в базе такие логин и пароль	
if(есть)
{
 $session_nofirst = "nofirst";
 $status_client = 1;
}
else
{
 $status_client = 0;
 $session_nofirst = '';
}
setcookie("status_client",$status_client);
setcookie("session_nofirst",$session_nofirst);
Далее в зависимости от переменной $status_client допускаю или нет на страницы сайта.
Переменная $session_nofirst для того чтобы не производить операцию установок куки много раз.
 

Verk

Guest
Т.е. куки ставятся только в случае если срабатывает if ?

А срабатывает ли ?

P.S. вместо $HTTP_POST_VARS используй просто $_POST .
 

alex-ko3

Guest
Автор оригинала: Verk
Т.е. куки ставятся только в случае если срабатывает if ?
Нет и иначе тоже, только одной из них присваивается 0, а другая сохраняется пустая (фактически не сохраняется)...

А срабатывает ли ?
А как узнать? В том то и дело, что они не устанавливаются, то есть как-то функция setcookie - выполняется (потому что нет ошибок), и в то же время нет - потому что нет куков ?

P.S. вместо $HTTP_POST_VARS используй просто $_POST .
Ну можно и это. Спасибо.
 

Verk

Guest
Originally posted by alex-ko3
А как узнать? В том то и дело, что они не устанавливаются, то есть как-то функция setcookie - выполняется (потому что нет ошибок), и в то же время нет - потому что нет куков ?
да просто посмотри что там у тебя приходит.
сделай вначале скрипта
PHP:
echo 'post: ';
var_dump ($_POST);
echo '<br> session: ';
var_dump ($session_nofirst);
 

alex-ko3

Guest
Автор оригинала: Verk
да просто посмотри что там у тебя приходит.
сделай вначале скрипта
PHP:
echo 'post: ';
var_dump ($_POST);
echo '<br> session: ';
var_dump ($session_nofirst);
Вместо $session_nofirst выводится NULL....

Причём что интересно, я попробовал этот кусок вставить на сервере, где куки срабатыват, и там перестаёт срабатывать?
Удаляешь - и всё опять срабатывает..
Ну а на новом сервере (где и не срабатывало) - там так и не начинало срабатывать
 

Verk

Guest
Originally posted by alex-ko3
Вместо $session_nofirst выводится NULL....

что за переменная такая ??

Причём что интересно, я попробовал этот кусок вставить на сервере, где куки срабатыват, и там перестаёт срабатывать?
Удаляешь - и всё опять срабатывает..
Ну а на новом сервере (где и не срабатывало) - там так и не начинало срабатывать
правильно, все setcookie() должны быть вызваны до любого echo, printa и любого другого вывода информации из скрипта.

другой вопрос - чему равно error_reporting в php.ini ?
 

alex-ko3

Guest
Вот ещё что обнаружил когда вывел переменные-куки после их установки...
Первый раз она устанавливавется и выводится её значение. При переходе на другую страницу сайта она сбрасывается?
 

Verk

Guest
вот на такие вопросы есть очень содержательные ответы в манах ;)
 

alex-ko3

Guest
Автор оригинала: Verk
вот на такие вопросы есть очень содержательные ответы в манах ;)
Да, и в каких интересно? Все перерыл - нигде не нашёл... Почему же на одном сервере куки сохраняются, а на другом - нет... Это же не зависит от параметров функции seycookie.
 

alex-ko3

Guest
Всем спасибо разобраслся... Хостер мозги полоскал... Не включил register_globals. А говорил всё нормально, пока сам не посмотрел...
 

Alkinoy

Guest
это и хорошо, что не включил!!!
Не используй так, только через суперглобалы!!!!!
 

Verk

Guest
Originally posted by alex-ko3
Всем спасибо разобраслся... Хостер мозги полоскал... Не включил register_globals. А говорил всё нормально, пока сам не посмотрел...
Забудь про глобалс, это зло.
 

alex-ko3

Guest
А что такое суперглобалы?

И что использовать если не глобалс? В механизме сессий, насколько я понял, не обойтись без куки. А куки без глобалс не сохраняются...
 

Alkinoy

Guest
Что то ты тут такого накрутил......
куки - это ваащще на строне клиента. А глобалс - это когда переменные, переданные извне (в гет или пост запросе) напрямую видны у тебя в программе. То есть, зная (или догадавшись) имена переменных в твоем скрипте я могу их установить извне. Вот потому глобалс и отключают.
А суперглобалы - попробуй поискать по форуму или инету. Ключевые слова - суперглобалы в РНР, $_POST $_GET....
И прочти факи. Все, какие сможешь найти на этом форуме.
 

alex-ko3

Guest
TO: Alkinoy

Сам бы прочёл факи... Тогда узнаешь, что куки без такой штуки как register_globals=on не фунциклируют...

Сорри всем: а про _POST и _GET я знал, только не знал что это и есть суперглобалы...
 

alex-ko3

Guest
ТО: Alkinoy
Если ты сам прочёл бы факи, то узнал, что куки без такой переменной как register_globals=on не фунциклируют. Это написано в манах...

Сорри всем: я знал про _POST и _GET, но не знал что они называеются суперглобалы.
 

Alkinoy

Guest
Вот блин! Надо срочно сообщить разработчикам!!!

Автор оригинала: alex-ko3
ТО: Alkinoy
Если ты сам прочёл бы факи, то узнал, что куки без такой переменной как register_globals=on не фунциклируют. Это написано в манах...
:eek:
 
Сверху