Закрытие сессии пользователя

Discussion in 'Программирование' started by Mar1k, Sep 8, 2008.

  1. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    Всем привет!
    Вопрос такой, есть форма авторизации пользователя. Необходимо, чтобы в случае авторизации пользователя на сайте при заходе на определенные страницы сессия пользователя автоматически закрывалась без вывода формы выхода. Каким способом можно это осуществить? Заранее спасибо.
     
  2.  
  3. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    А есть возможность посмотреть как работает кнопка выход?
     
  4. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    Можно открыть модуль авторизации (mod_login), но я что-то не понял как работает данная сиcтема, поэтому и обратился сюда за помощью
     
  5. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    На самом деле там все просто (речь идет об 1.0.*) в модуле, если пользователь авторизован, выводится форма с одной кнопкой и скрытым полем name=option value=logout. И пересылают это дело на index.php. открываем его и видим, что на самом деле творится, когда мы нажимаем эту кнопку.
     
  6. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    Так что получает, просто редирект поставить с ссылкой index.php?option=logout?
     
  7. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    а почему, в принципе, нет?
     
  8. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Joined:
    Apr 13, 2007
    Messages:
    3,685
    Likes Received:
    101
    Gender:
    Male
  9. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    Ну может устроим конкурс, как лучше вылогинить пользователя?
     
  10. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    Обещаю разместить код победителя в своем компоненте с ссылкой на автора ;-)
    А серьезно, спасибо за помощь, все получилось!

    Добавлено через 17 минут
    Оказалось, что рано закрывать тему. Сделал я редирект header('Location: '. sefRelToAbs( 'index.php?option=logout' )) н и соотвественно он закрывает сессию с выходом на главную страницу. А мне-то нужно, только закрыть сессию, не меняя адреса. Через переменные $option и $ItemID тут не разрулить насколько я понимаю... Что делать?
     
    Last edited: Sep 17, 2008
  11. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Joined:
    Apr 13, 2007
    Messages:
    3,685
    Likes Received:
    101
    Gender:
    Male
    Либо повторить тоже самое, что делается при logout, либо добавив туда свою переменную &myredir=текущий_урл мамботом после отработки логаута редиректить на эту же страницу :)
     
  12. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    прости, но я не понимаю где это смотреть, нашел только logout.php - ты про это?
     
  13. sectus
    Offline

    sectus Недавно здесь => Cпециалист <=

    Joined:
    Apr 19, 2006
    Messages:
    1,210
    Likes Received:
    46
    Gender:
    Male
    Код (PHP):
    1. $mainframe->logout();
    так может?
     
    Mar1k likes this.
  14. Offline

    Mar1k Недавно здесь

    Joined:
    Jul 4, 2006
    Messages:
    43
    Likes Received:
    0
    sectus, спасибо огромное, теперь помогло!
    в общем виде получил следующее:
    $mainframe->logout();
    header('Location: '. sefRelToAbs( 'index.php?option='.$_GET['option'].'&task='.$_GET['task'].'&id='.$_GET['id'].'&Itemid='.$GET['Itemid']));
     
  15. Offline

    voloxastik Недавно здесь

    Joined:
    Sep 11, 2010
    Messages:
    2
    Likes Received:
    0
    Gender:
    Male
    а можно поподробнее?
    на какой адрес нужно перейти пользователю, что бы сделать loguot?
     

Share This Page

Loading...