Помогите с куками разобраться... Не получается установить куки, сперва идет форма где пользователь вводит свой логин и пароль, а потом эта форма обрабатывается вот так: Код (Text): <? require_once("../../config.php"); $query="SELECT * FROM user WHERE name='$_POST[name]' AND parol='$_POST[parol]'"; $tmp=mysql_query($query); if (mysql_num_rows($tmp)==0) echo "Логин или пароль введен неверно"; else { if (setcookie("user", $_POST[name])) header("Location: ../klienti"); else echo "Не удалось создать cookie"; } ?> Т.е. я так понимаю должен создаться глобальный массив $_COOKIE[user], а потом когда осуществляется переход на страницу ../klienti, то делаю вот так: Код (Text): <? if (isset($_COOKIE['user'])) echo "Вы вошли под именем: ".$_COOKIE['user'];?> Но это не срабатывает...
Я только поняла из этого что проблема в том что я перехожу в другую директория, а там этот кук не виден, но как это исправить?
Если у вас нет "чистки" суперглобальных переменных, то строчка PHP: $query="SELECT * FROM user WHERE name='$_POST[name]' AND parol='$_POST[parol]'" убьёт ваш скрипт при первом же "любопытном" пользователе. Другими словами ваш сайт хакнут и испортят.
Johnatan +1. mysql_real_escape_string спасет вашу жизнь. ВСЕГДА проверяйте полученные от пользователя данные (не доверяйте никому, ага!)
Голова едет. По каким-то причинам не получается создать куки, если установлен параметр Path (любое значение), если до этого они были удалены следующим образом: Код (Text): setcookie("loginadm"); setcookie("passadm"); Создаю куки так: Код (Text): if ($login==$res['user']) { if ($pass==$res['pass']) { setcookie("loginadm",$login,0,"/",".1gb.ru"); setcookie("passadm",$pass,0,"/",".1gb.ru"); } else { header("Location:index.php?p"); exit(); } } else { header("Location:index.php?l"); exit(); } Если path убрать совсем, либо же пропустить (сделать строку, хранящее его значение, пустой - ""), то куки создаются нормально.