За последние 24 часа нас посетили 21920 программистов и 1011 роботов. Сейчас ищут 687 программистов ...

Вопрос по Сессиям

Тема в разделе "Вопросы от блондинок", создана пользователем Игорь_Vasinsky, 18 янв 2009.

  1. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    post отправляет, просто все примеры как близнецы в faq
     
  2. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Сессия не мертва!!!
    просто надо переменные вытаскивать через $_POST['key'] массивы
     
  3. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Вместо
    попробуйте
    PHP:
    1. $sms=$_POST['key'];
    2. $username=$_POST['name'];
     
  4. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    не помогает даже так

    Код (Text):
    1. <?php
    2. session_start();
    3. $sms=$_POST[$key];
    4. $username=$_POST[$name];
    5. $ip=$_SERVER['REMOTE_ADDR'];
    6. session_register("sms");
    7. session_register("username");
    8. session_register("ip");
    9. ?>
     
  5. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Смотрите мое сообщение и не пишите всякую чушь...
     
  6. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    • $sms=$_POST[$key];
      $username=$_POST[$name];

    именно эти строчки не понимает
     
  7. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    По вашему

    PHP:
    1. Use of undefined constant key - assumed 'key'
    2. Use of undefined constant name - assumed 'name'
     
  8. ATI

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

    С нами с:
    3 янв 2008
    Сообщения:
    254
    Симпатии:
    0
    Адрес:
    Москва
    А ковычки? мрак..
     
  9. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    и с ковычками и без...щас через get попробую.
     
  10. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    блин. глупый скрипт валидности пароля через GET не работает
     
  11. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Больше идей нету?
     
  12. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Напишите код формы с которой передаются переменные и код принимающий их.
     
  13. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Как вариант
    PHP:
    1. <?php
    2. if ( isset($_POST['key']) &&  isset($_POST['name']) ) {
    3.    $_SESSION['sms'] = $_POST['key'];
    4.    $_SESSION['username'] = $_POST['name'];
    5.    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
    6.    echo 'Данные сохранены в сессии';
    7. }
    8. else echo 'Форма не отправлена';
    9. ?>
     
  14. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    все нашёл !!!! Только я не понял почему раньше работало!

    в самой форме (dostup.php) как я говорил - работал скрипт на стороннем сервере (не моём) - и фориа работала php_self

    сейчас я дописал action=access.php (старница приветствия) и всё работает. Видимо куки забил нечаянно на access.php пока мудрил.

    А время жизни куки я могу задать так

    PHP:
    1. setcookie('username','name',time()+15); - время в минутах?
     
  15. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
  16. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Не могу подружить два кода

    первый поддерживает сессию и обводит юзера от регистрации (в самом верху страницы)

    PHP:
    1. if (empty($name)){echo"";}
    2. else{
    3. $sms=$_POST['key'];
    4. $username=$_POST['name'];
    5. $ip=$_SERVER['REMOTE_ADDR'];
    6. session_register("username");
    7. echo "
    8. <script language=javascript>
    9. location.href='access.php';
    10. </script>
    11. ";

    Второй держит куки и узнаёт юзера 3 дня (под первым кодом)

    PHP:
    1. if (!isset($_COOKIE['name_visitor']))
    2. {  юзер пошёл регится}
    3. else {юзер узнан}

    после реги создаю куки (задаётся после удачной реги юзера)

    PHP:
    1. setcookie('name_visitor',loged user.',time()+259200);  
     
  17. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    В первом коде после неудачной проверки(если пустая переменная ) будут выдаваться ошибки так как сессия не запущенна.
    Второй код, куку ведь надо ещё считать.
     
  18. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    первый код работает отлично.

    там же видно что если переменная name пуста - то сессия не запускается и переменные не принимаются и не регятся.
    просто форма регистрации post / php_self - пользователь приходит на этустраницу один раз - регестрируется - после submit из формы передаются переменные - запускается сессия и эти переменные регестрируются сессией. Потом юзер тупо перекидывается на access.php (а на странице регистрации он больше не появится пока сессия в работе)

    скорее всего я сделаю что cookie задаются на странице access.php - сразу (с проверкой пользвателя по ip - чтобы куки оздовались один раз на один ip)

    А по поводу прочитать куки - мне это не нужно - мне достаточно проверить есть они - или нет, а этим и занимается
    код №2.

    А ошибка то в том что браузер начинает header отправлять паралельно 2 кода работает - вот ему и не нратся - он говорит что header уже отправлен

    p.s В начале пустых строк нет - знаю что основная проблема headera в этом. Какие предложения?
     
  19. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Есть вопрос!

    PHP:
    1. setcookie('ip_user',$ip,time()+259200);
    , где

    PHP:
    1. $ip=$_SERVER['REMOTE_ADDR'];
    Правильно ли я понял,что код создал cookie для пользователя с $ip на 3 дня ?
     
  20. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Господа, вам не кажется что это монолог???

    я сам проверил:

    PHP:
    1. <?php
    2. if (!isset($_COOKIE['mycook_ip']))
    3. {
    4. echo "Мы тебя не знаем, о прекрасный незнакомец!";
    5. }
    6. else echo "Опаньки, а мы тебя знаем ты - ";
    7. echo $username;
    8. ?>
    где

    PHP:
    1. $username
    - до этого переданныя через

    PHP:
    зарегистрированная ранее переменная.

    Вопрос 2 (скорее всего отвечать буду сам, но по позже)


    time()+259200
    PHP:
    1.  
    2.  
    3. время жизни (3 дня) cookie в секундах, с момента создания cookie
    4.  
    5. я посчитал:
    6.  
    7. 3x60x60=259200 - стало быть правильно.
    8.  
    9. Но это время значит что через 3 дня куки сами удаляться с компа пользователя?
     
  21. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    давно бы купил норм книжку и всё сделал,
    тема по книгам тут есть.
    и не говори...
     
  22. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Гы, живой. Здравствуй.

    Я итак почти всё сделал, ответь - cooki я правильно задал? через 3 дня они должны удальтся скомпа сами?
     
  23. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  24. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    Стало быть правильно.
    А давайте форум назавём Поможем популярным ответом!
    И если кто то потяряет ссылку на http://php.ru/manual - а тут вы всегда покажете где она.
    И все будут жить счасливо.

    А теперь по существу

    1. Этот форум я считаю авторитетным по вопросам php и поэтому не лезу некуда больше.
    2. На этом форуме много грамотных лючей, которые всегда подскажут новичку что где и как
    3. На форуме специально содан целый раздел с нозванием "Программирование на PHP для новичков"
    4. Много парней помогали мне здесь до этого,возможно и ты.
    5. И откуда такой интузиазм - не лень же людям писать на вопросы не ответы а кидать им мануалы, где новечку утонуть можно.

    Выдишь что ты натворил. А сколько эмоций у меня вызвал этот короткий и довольно информативный, для моего программирования на php, диалог.
     
  25. Игорь_Vasinsky

    Игорь_Vasinsky Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    0
    Адрес:
    Уфа
    За 2 дня я написал весь код фактически сам - целых 2 дня, а с помощью мог бы за 30 минут.