[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему не читаются cookie
Дима
Всем, добрый день!

Помогите, никак не могу определить проблему. 3-ий день знакомства с PHP, задача следующая: со странички с формой login'а информация передается этому скрипту. Когда он ее обработает, либо данные записываются в cookie либо возвращается сообщение об ошибке на предыдущей странице. Главная странице находится в каталоге ниже уровнем, и она в упор не хочет видеть эти cookie. Соединение с базой есть, сookie, вроде, тоже записываются.

Похоже тут есть какая-то фишка которой я просто не понимаю или не знаю...

Здесь обрабатываем информацию
PHP
if($_POST['username'] == "" or $_POST['password'] == "")
    {
        
$login_message "Заполните оба поля, пожалуйста!";
        
header("Location:http://localhost/achievments/login/loginform.php?mesg=".$login_message);
    }
    else
    {
        
$query "select * from users where user_name='".$_POST['username']."';";
        
$usrrow mysql_query($query);
        if(
$usrrow)
        {
            
$usrarr mysql_fetch_array($usrrow);
            if(
$_POST['password'] == $usrarr['passwrd'])
            {
                
setcookie("current_user"$_POST['username'], time() + 3600*24*2"http://localhost/achievments/index.php");
                
setcookie("current_pass"$_POST['password'], time() + 3600*24*2,"http://localhost/achievments/index.php");
                
header("Location:http://localhost/achievments/index.php?bul1=".$bul1."&bul2=".$bul2);
            }
            else
            {
                
$login_message "Неверный пароль!";
                
header("Location:http://localhost/achievments/login/loginform.php?mesg=".$login_message);
            }            
        }
        else
        {
            
$login_message "Такого пользователя не зарегистрировано!";
            
header("Location:http://localhost/achievments/login/loginform.php?mesg=".$login_message);
        }        
    }


Здесь требуется обратиться к cookie
PHP
<?php
            
            
if($_COOKIE['current_user'] != "")
            {
                echo 
"
                Привет, "
.$_COOKIE['current_user']." | <a href=\"logout.php\">Выйти</a>
                "
;    
            }
            else
            {
                echo 
"
                <a href=\"http://localhost/achievments/register/registrationform.php\">Регистрация</a> | <a href=\"http://localhost/achievments/login/loginform.php\">Войти под логином</a>
                "
;
            }        
        




Спустя 32 минуты, 21 секунда (11.06.2009 - 18:29) twin написал(а):
Попробуй так:
PHP
setcookie("current_pass"$_POST['password'], time() + 600*24*2,"/");

Только учти, что пароль в куках, да еще в явном виде - это подстава юзера с твоей стороны.

Спустя 35 минут, 12 секунд (11.06.2009 - 19:04) Дима написал(а):

Спасибо! Работает... гениально.

Про безопасность учту=)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.