Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2010, 23:30   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию глюк с кукисами

есть 2 файла.
в первом файле находится форма, с которой методом post отправляется во второй файл имя и пароль. эти данные доходят 100%

затем в самом начале второго файла я пишу:
Код:
//запоминаем имя и пароль на сессию (если они заданы)
if(isset($_POST['name'])) setcookie('name',$_POST['name']));
if(isset($_POST['pass'])) setcookie('pass',$_POST['pass']));
//заносит данные из куков в переменные
$u_name = $_COOKIE['name'];
$u_pass = $_COOKIE['pass'];
//дальше идёт код работы с этими переменными
//если имя и пароль неверные, то выдается сообщение
значит вот в чем состоит глюк.
1.включаю браузер, захожу на сайт. куков нету. сообщение об неверном пароле есть - всё правильно
2. захожу в первый файл. ввожу логин и пароль. нажимаю войти
3. открывается второй файл. куки в нём появились., но всё равно выдается сообщение, что имя и пароль неверные.
4. F5 - страница перегружается, имя и пароль проходят валидацию

получается кукисы не успевают занестись в переменные, а логин и пароль начинают проверяться.

как решить данную проблему?

----------Добавлено---------
пробовал не присваивать куки переменным, а работать с массивом $_COOKIE - всё точно так же
Life if about choices
Make the right choice

Последний раз редактировалось TaTT DoGG; 03.01.2010 в 23:35.
TaTT DoGG вне форума Ответить с цитированием
Старый 03.01.2010, 23:41   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

А попробуй сесси
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 03.01.2010, 23:43   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

не, то что я сказал, что мне нужно на одну сессию это не так. мне нужны куки без срока истечения
но это дела не меняет



----------добавлено----------
после занесения считывания куков в переменные поставил sleep на несколько секунд
всё тоже самое. получается нужно заходить на страницу, заносить куки и тут же обновлять её
Life if about choices
Make the right choice

Последний раз редактировалось TaTT DoGG; 03.01.2010 в 23:59.
TaTT DoGG вне форума Ответить с цитированием
Старый 04.01.2010, 00:09   #4
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

вот код, даже он не пашет
Код:
<?php

if(isset($_POST['name']))
{
	setcookie('name',$_POST['name']);
}
if(isset($_POST['pass']))
{
	setcookie('pass',$_POST['pass']);
}

$u_name = $_COOKIE['name'];
$u_pass = $_COOKIE['pass'];

echo $u_name;

?>
$u_name выводит только после обновления страницы
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 04.01.2010, 01:01   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от TaTT DoGG Посмотреть сообщение
$u_name выводит только после обновления страницы
Куки ставятся только после обновления страницы.
Чтобы понять, почему это происходить, нужно немного знать принцип работы HTTP-протокола.
Ведь именно в заголовке GET-POST запроса/ответа печенье показывает свою работу
SkyM@n вне форума Ответить с цитированием
Старый 04.01.2010, 01:09   #6
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

жаль, как выйти из данной ситуации?
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 04.01.2010, 01:14   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от TaTT DoGG Посмотреть сообщение
жаль, как выйти из данной ситуации?
Это не жаль, это правильное поведение. Зачем тогда куки?
На счет решения задачи, то, видимо, вам или не куки нужны, или вы не так их юзаете. Надо знать задачу, которая реализовывается.
SkyM@n вне форума Ответить с цитированием
Старый 04.01.2010, 01:19   #8
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

я ввожу имя и пароль в форму (файл index.php)
потом при нажатии на кнопку в форме перехожу с этими именем и паролем в файл player.php
нужно, чтобы пароль и имя сохранилось и каждый раз вводилось само, когда пользователь заходит на страницу player.php (не через index.php, а сразу на player.php)
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 04.01.2010, 01:32   #9
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

есть вариант
у меня с первого во второй файл,пароль передается как есть, а потом во втором файле шифруется и сравнивается с паролем из базы.
можно перенести шифрование в первый файл, там перед отправкой шифровать его и посылать через $_GET
мне главное, чтобы пароль не светился и можно было заходить сразу во второй файл

только я не знаю, как перехватить нажатие кнопки "Войти" формы (index.php), вытянуть пароль, зашифровать его и впихнуть обратно
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 04.01.2010, 17:30   #10
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

проблему решил создав промежуточную страницу

1стр > post > 1.5стр > crypt pass > get > 2стр
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
глюк Dosa Компьютерное железо 0 28.12.2009 17:29
Глюк TICQClient v1.33 Alter Общие вопросы Delphi 2 06.08.2008 18:36
Глюк автофильтра Gorizont Microsoft Office Excel 8 04.08.2008 10:23
Глюк из-за скина Altera Свободное общение 5 11.05.2008 07:01
Глюк )) theos О форуме и сайтах клуба 9 08.01.2008 17:44