За последние 24 часа нас посетили 16485 программистов и 1677 роботов. Сейчас ищут 914 программистов ...

Установка cookie

Тема в разделе "PHP для новичков", создана пользователем oksanaweb, 13 апр 2008.

  1. oksanaweb

    oksanaweb Активный пользователь

    С нами с:
    13 апр 2008
    Сообщения:
    4
    Симпатии:
    0
    Помогите с куками разобраться...
    Не получается установить куки, сперва идет форма где пользователь вводит свой логин и пароль, а потом эта форма обрабатывается вот так:

    Код (Text):
    1. <?
    2. require_once("../../config.php");
    3. $query="SELECT * FROM user WHERE name='$_POST[name]' AND parol='$_POST[parol]'";
    4. $tmp=mysql_query($query);
    5. if (mysql_num_rows($tmp)==0) echo "Логин или пароль введен неверно";
    6. else
    7. {
    8.     if (setcookie("user", $_POST[name])) header("Location: ../klienti");
    9.     else echo "Не удалось создать cookie";
    10. }
    11. ?>
    Т.е. я так понимаю должен создаться глобальный массив $_COOKIE[user], а потом когда осуществляется переход на страницу ../klienti, то делаю вот так:

    Код (Text):
    1. <? if (isset($_COOKIE['user'])) echo "Вы вошли под именем: ".$_COOKIE['user'];?>
    Но это не срабатывает...
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    http://php.net/setcookie
     
  3. oksanaweb

    oksanaweb Активный пользователь

    С нами с:
    13 апр 2008
    Сообщения:
    4
    Симпатии:
    0
    Я только поняла из этого что проблема в том что я перехожу в другую директория, а там этот кук не виден, но как это исправить?
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    укажите
     
  5. oksanaweb

    oksanaweb Активный пользователь

    С нами с:
    13 апр 2008
    Сообщения:
    4
    Симпатии:
    0
    Указвала так: ../
    Не помогло
     
  6. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    укажите просто /
     
  7. oksanaweb

    oksanaweb Активный пользователь

    С нами с:
    13 апр 2008
    Сообщения:
    4
    Симпатии:
    0
    Спасибо все получилось...
     
  8. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Если у вас нет "чистки" суперглобальных переменных, то строчка
    PHP:
    1. $query="SELECT * FROM user WHERE name='$_POST[name]' AND parol='$_POST[parol]'"
    убьёт ваш скрипт при первом же "любопытном" пользователе.

    Другими словами ваш сайт хакнут и испортят.
     
  9. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Johnatan
    +1.

    mysql_real_escape_string спасет вашу жизнь. ВСЕГДА проверяйте полученные от пользователя данные (не доверяйте никому, ага!)
     
  10. Yithian

    Yithian Активный пользователь

    С нами с:
    14 апр 2008
    Сообщения:
    1
    Симпатии:
    0
    Голова едет. По каким-то причинам не получается создать куки, если установлен параметр Path (любое значение), если до этого они были удалены следующим образом:
    Код (Text):
    1. setcookie("loginadm");
    2.  setcookie("passadm");
    Создаю куки так:
    Код (Text):
    1. if ($login==$res['user']) {
    2.     if ($pass==$res['pass']) {
    3.       setcookie("loginadm",$login,0,"/",".1gb.ru");
    4.       setcookie("passadm",$pass,0,"/",".1gb.ru");
    5.     } else {
    6.         header("Location:index.php?p");
    7.         exit();  
    8.       }
    9.   } else {
    10.       header("Location:index.php?l");
    11.       exit();
    12.     }
    Если path убрать совсем, либо же пропустить (сделать строку, хранящее его значение, пустой - ""), то куки создаются нормально.
     
  11. Anonymous

    Anonymous Guest

    куки удаляются установкой даты в прошлом.