| |
|
|
| | я никак не могу записать переменную в куки! у меня Свойство RеgistredGlobals включено и я нехочу его выключать! как правельно записать переменную $X в куки? с включенным этим свойством? | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 00:37)
| | | register_globals не влияет на установку куки. Проверьте, чтобы куки устанавливались до вывода чего бы то ни было в браузер.
setcookie("mycookie", $X);
|
А register_globals лучше поставить в Off, так безопаснее. | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 00:37)
| | | Подробнее об этом можно початить по ссылке http://www.softtime.ru/bookphp/gl8_2.php. Если останутся вопросы - задавайте, обязательно поможем. | |
| |
|
|
| |
|
|
| |
для: cheops
(21.05.2006 в 12:01)
| | | я слышал что РЕГИСТРЕТ ГЛОБАЛС безопаснее НЕ выключать! так какже на самом деле?
setcookie("login",$login, time()+3600);
setcookie("password",$password, time()+3600);
|
вот какая проблемма вроде все правельно но все равно эти значения не записываются в куки! я сматрел функцию http://ru.php.net/setcookie сдесь! там такая строка
Замечание: If the PHP directive register_globals is set to on then cookie values will also be made into variables. In our examples below, $TestCookie will exist. It's recommended to use $_COOKIE.
поэтому я и задумался о register_globals! и никак не могу понять почемуже не работает
кстати на эти 2 строки пишет такие ошибки
Warning: Cannot modify header information - headers already sent by (output started at D:\wwwApache Group\Apache2\htdocs\index.php:2) in D:\wwwApache Group\Apache2\htdocs\aut.php on line 7
Warning: Cannot modify header information - headers already sent by (output started at D:\wwwApache Group\Apache2\htdocs\index.php:2) in D:\wwwApache Group\Apache2\htdocs\aut.php on line 8 | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:12)
| | | register globals ставь в off - учись правильно прогить, скоро его уже может не стать вообще :)
у тебя кука ставиться до того, как на экран выводится что нибудь или после?
т.е. если у тебя
<?
$login="Вася Пупкин";
echo $login; /*низя в браузер ни одной строки выводить до установки куки - кука это принадлежность заголовка HTTP а не тела документа, а как ты наверно знаешь сначала передаются заголовки, потом тело*/
setcookie("login",$login, time()+3600);
?>
|
то это не правильно, сначала кука, потом текс документа (ни одного пробела даже не должно выдаваться на экран до установки куки)
т.е. правильно так
<?
$login="Вася Пупкин";
setcookie("login",$login, time()+3600);
echo $login;
|
| |
| |
|
|
| |
|
|
| |
для: Пётр
(21.05.2006 в 13:26)
| | |
<?php
//Error_Reporting(0);
$login="123"; //Правильный логин
$password="123"; //Правильный пароль
if($_POST['butt'])
{ $info="Неверный пароль!!!"; }
if($_POST['user']==$login and $password==$_POST['pass'])
{
//Добавляем данные в куки на +... секунд
setcookie("login",$login, time()+3600);
setcookie("password",$password, time()+3600);
//Добавляем данные в куки на +... секунд
// echo "Вход выполнен !!!";
//Аутентификация успешна
} else {//}
//Аутентификация не успешна
?>
|
и дальше HTML | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:34)
| | | т.е. если у тебя
пробел<?
то на экран выведется символ пробела, хоть ты его и не увидишь,
или если у тебя
пустая строка
<?
и набирал ты код не в спец редакторе, а в блокноте например, то винда вставила признак окончания строки по своему, не по юниксовому и в юниксе это может вызвать ошибку | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:12)
| | | попробуйте посмотреть код до етих строк, удилить все пустые строки, если они есть, до тега "<?php ..."
эта ошибка означает что "headers" то-бишь заголовки уже отправлены и не могут быть модифицированы, так так куки отправляются только с ними.
у меня был док который на этом заострял особое внимание. | |
| |
|
|
| |
|
|
| |
для: Dark_Wektor
(21.05.2006 в 13:35)
| | | этот Код ПХП стоит в самом верху выше всего остального! а дальше только после него идеет ХТМЛ! Выкладываю всю страницу | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:43)
| | | если ты этот код используешь для отладки то не
$login="Lit-Company"; //Правильный логин
$password="123";
|
а,
$_POST['login']="Lit-Company"; //Правильный логин
$_POST['password']="123";
|
| |
| |
|
|
| |
|
|
| |
для: Пётр
(21.05.2006 в 13:47)
| | | Петр походу все работает как ты сказал! я еще окончательно проверю! спасибо я просто неопытный прогер тока начинаю набираться опыта | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:43)
| | | Вы не тот файл смотрите / показываете.
Обратите внимание на то, что выставляемые кукисы вызывают ошибки в файле aut.php на строках 7 и 8, в то время как выводимый текст был отправлен совсем другим файлом - index.php на строке 2. | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:12)
| | | >Warning: Cannot modify header information - headers already
Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
Вы можете также включить буфферизацию, если имеете доступ к конфигурационному файлу php.ini
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8484 | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 00:37)
| | | попробуйте до кукисов вставить такой код
<?
if (@headers_sent()){ print "заголовки уже отправлены";}
else {print "хз в чём трабл, но заголовки ещё не отправлялись";}
?>
|
так вы и узнаете были они отправлены или нет )) | |
| |
|
|
| |
|
|
| |
для: Dark_Wektor
(21.05.2006 в 13:50)
| | | ПЕТР сделал как ты сказал и страничка вообше не открывается! так что проверь у тебя работает так? | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 13:57)
| | | нужен листинг файл index.php - в нем ошибка
в предыдущеп посте забыл написать слово "ещё":
$login="Lit-Company"; //Правильный логин
$password="123";
|
а, ещё
$_POST['login']="Lit-Company"; //Правильный логин
$_POST['password']="123";
|
| |
| |
|
|
| |
|
|
| |
для: Пётр
(21.05.2006 в 14:04)
| | | вот ! | |
| |
|
|
| |
 9.1 Кб |
|
| |
для: secondvad2
(21.05.2006 в 14:08)
| | | aut.php вот
в INDEX.PHP в форме action="" просто это FRONT PAGE так изменяет при сохранении | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 14:08)
| | | В файле index.php у Вас первая строка - пустая. Она и портит весь расклад. Удалите её. | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.05.2006 в 14:17)
| | | ага удалил! все равно осталась проблемма с кукамИ! там в ndex.php есть кнопка на нее нажимаю и снова кидает на авторизацию я так понимаю куки не записываются | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 14:20)
| | | Может быть всё же записываются, но не проверяются должным образом?
Где Вы проверяете кукисы? | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.05.2006 в 14:38)
| | | Возможно! вобшем мне надо сделать страницу авторицазии! никак не получается а проверить куки можна так
echo $_COOKIE["TestCookie"];
|
хотя у меня чето ниче не выводит | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 14:45)
| | | >Возможно! вобшем мне надо сделать страницу авторицазии!
>никак не получается а проверить куки можна так
>echo $_COOKIE["TestCookie"];
>хотя у меня чето ниче не выводит
И не выведет. Вы же login , password записывали, а не TestCookie.
Вот и смотрите echo $_COOKIE["login"] . '/' . $_COOKIE["password"];
Когда я спросил "Где Вы проверяете кукисы?" то имел в виду "Где у Вас в скрипте стоит нечто напоминающее
if($_COOKIE['login'] == ... && $_COOKIE['password'] == ... )
|
? | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.05.2006 в 15:06)
| | |
echo $_COOKIE["login"] . '/' . $_COOKIE["password"];
|
Я так и выводил я ему показал пример как это делается | |
| |
|
|
| |
|
|
| |
для: secondvad2
(21.05.2006 в 14:20)
| | | а ты посмотри - записываются или нет - в виндах найди папку кукисов, например в икспях
c:\documents and settings\имя юзера виндов(под кем вошел в винды)\cookies
и ищи там файл примерно такой:
pit@localhost[1].txt
где pit - имя юзера виндов (под кем вошёл), спецсимвол @, localhost имя сервера поставившего куку
т.е. от яндекса у меня такая ставится кука pit@yandex[1].txt | |
| |
|
|
| |
|
|
| |
для: Пётр
(21.05.2006 в 14:49)
| | | я попробовал через OPERA браузер! да куки записались! значит дело не в них я не могу разобраться в чемже! нажимаю на кнопку в INDEX.PHP и кидает обратно | |
| |
|
|