Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с COOKIE
 
 автор: BlueWolf   (20.12.2010 в 18:32)   письмо автору
 
 

Создаю на одной странице COOKIE

$user = $r['nick'];
     $password = $r['password'];
     if (setcookie('user',$user, time() + 604800)){$textudachno .= 'Cookies user успешно установлены!<br/>';}
     if (setcookie('password',$password, time() + 604800)){$textudachno .= 'Cookies password успешно установлены!<br/>';}
echo $textudachno;


в результате получаю
Cookies user успешно установлены!
Cookies password успешно установлены!

Далее на второй странице


error_reporting(E_ALL);
$adadad = "".$_COOKIE['user']."<br/>";
$adadad .= "".$_COOKIE['password']."<br/>";
echo $adadad; 


echo ничего не выводит.

а error_reporting выводит

Notice: Undefined index: user in Z:\home\spaces.ru\www\user\userwap.php on line 6
Notice: Undefined index: password in Z:\home\spaces.ru\www\user\userwap.php on line 7

Помогите с куки

  Ответить  
 
 автор: Trianon   (20.12.2010 в 19:20)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 18:32)
 

в верхнем скрипте error_reporting тоже стоит поставить.
Точнее его стоит воткнуть сразу в настройки сервера (php.ini) / сайта (.htaccess корня).
Но уж коль скороэтого не сделано - ставьте в каждый файл.

Ну и кроме того положительный отклик setcookie означает лишь,что кукис успешно переданы в заголовок отклика запроса.
А дошли ли они до клиента, и отреагировал ли клиент на них должным образом, Вы узнаете лишь из второго скрипта.

  Ответить  
 
 автор: BlueWolf   (20.12.2010 в 19:51)   письмо автору
 
   для: Trianon   (20.12.2010 в 19:20)
 

Поставил на первом error_reporting
появилась ошибка

Notice: Undefined variable: textudachno in Z:\home\spaces.ru\www\registration\enterwap.php on line 109
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\spaces.ru\www\registration\enterwap.php:109) in Z:\home\spaces.ru\www\registration\enterwap.php on line 110

  Ответить  
 
 автор: BlueWolf   (20.12.2010 в 19:53)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 19:51)
 

Строки 109 и 110 это:

 if (setcookie('user',$user, time() + 604800)){$textudachno .= 'Cookies user успешно установлены!<br/>';} 
     if (setcookie('password',$password, time() + 604800)){$textudachno .= 'Cookies password успешно установлены!<br/>

  Ответить  
 
 автор: BlueWolf   (20.12.2010 в 20:00)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 19:53)
 

А понял к чему это точку лишнюю поставил

 if (setcookie('user',$user, time() + 604800)){$textudachno = 'Cookies user успешно установлены!<br/>';}  
     if (setcookie('password',$password, time() + 604800)){$textudachno .= 'Cookies password успешно установлены!<br/>


Всё этой ошибки нету .

Но куки по прежнему не принимаются на второй странице. В браузере проверил куки есть .

  Ответить  
 
 автор: Trianon   (20.12.2010 в 20:52)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 20:00)
 

на локальном сервере дело происходит или у хостера?

во втором скрипте точно никаких других строк нет?

Другими словами - строки которые Вы приводите - это единственное, из чего состоит скрипт?

  Ответить  
 
 автор: BlueWolf   (20.12.2010 в 21:04)   письмо автору
 
   для: Trianon   (20.12.2010 в 20:52)
 

На локальном.

До скрипта есть только связь с базой. После скрипт создания страницы.

  Ответить  
 
 автор: Trianon   (20.12.2010 в 21:09)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 21:04)
 

уберите всё лишнее. Никаких баз, массивов, страниц, и прочей, не имеющей отношения к данной проблеме, шелухи.
Оставьте только создание и проверку.
Два файла.
Их и приводите.

  Ответить  
 
 автор: BlueWolf   (20.12.2010 в 21:23)   письмо автору
 
   для: Trianon   (20.12.2010 в 21:09)
 

Создал 2 новых файла
1

<?
error_reporting
(E_ALL);
if (
setcookie('user','1')){$textudachno 'Cookies user успешно установлены!<br/>';}
if (
setcookie('password','2')){$textudachno .= 'Cookies password успешно установлены!<br/>';}
echo 
$textudachno;
?>


2


<?
error_reporting
(E_ALL);
echo 
"".$_COOKIE['user']."<br/>";
echo 
"".$_COOKIE['password']."<br/>";
?>


Ошибок нет.
на второй вывело 1 2

  Ответить  
 
 автор: Trianon   (20.12.2010 в 22:26)   письмо автору
 
   для: BlueWolf   (20.12.2010 в 21:23)
 

Ну вот :)
То есть проблема не с COOKIE.

  Ответить  
 
 автор: BlueWolf   (21.12.2010 в 10:24)   письмо автору
 
   для: Trianon   (20.12.2010 в 22:26)
 

Проблема всё же в COOKIE.
Первые два скрипта находились в разных папках.
А два новых в одной и той же. Я создал две папки 1 и 2. И положил туда соответствующие файлы.
Через первый файл установил COOKIE.

<?
error_reporting
(E_ALL);
if (
setcookie('user','1')){$textudachno 'Cookies user успешно установлены!<br/>';}
if (
setcookie('password','2')){$textudachno .= 'Cookies password успешно установлены!<br/>';}
echo 
$textudachno;
?>



Через второй должен был поймать

<?
error_reporting
(E_ALL);
$adadad "".$_COOKIE['user']."<br/>";
$adadad .= "".$_COOKIE['password']."<br/>";
echo 
$adadad;  
?> 



Но тут появилась та же ошибка

Notice: Undefined index: user in Z:\home\spaces.ru\www\2\2.php on line 3
Notice: Undefined index: password in Z:\home\spaces.ru\www\2\2.php on line 4

  Ответить  
 
 автор: ride   (21.12.2010 в 10:35)   письмо автору
 
   для: BlueWolf   (21.12.2010 в 10:24)
 

http://php.net/manual/en/function.setcookie.php
обратите внимание на четвертый параметр функции

  Ответить  
 
 автор: Trianon   (21.12.2010 в 14:48)   письмо автору
 
   для: BlueWolf   (21.12.2010 в 10:24)
 

По сути вопроса сказал ride, мне добавить нечего.
А насчет ошибок - вольно ж Вам таким образом проверять кукисы.
Поставьте явную проверку во втором файле:

<?
error_reporting
(E_ALL);
$mu  =  isset($_COOKIE['user']) ? "set as " $_COOKIE['user'] : null;
$mp  =  isset($_COOKIE['password']) ? "set as " $_COOKIE['password']: null;

$message '';
$message .= "<br/>Cookie user is " . ( $mu === null 'undefined' "set as $mu");
$message .= "<br/>Cookie password is " . ( $mp === null 'undefined' "set as $mp");
?> 


и последнее.
Пароль это явно не то, что стоит записывать в COOKIE
По большому счету, пароль вообще никуда записывать не полагается.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования