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

Авторизация и Редирект

Тема в разделе "PHP для новичков", создана пользователем Aguero, 14 дек 2013.

  1. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Здравствуйте.
    Помогите пожалуйста решить такой момент, после авторизации пользователь попадает на определенную страницу, но мне нужно сделать так, что бы когда пользователь уже авторизован при переходе опять на главную страницу его кидало на нужную мне страницу
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    именно кидало или достаточно просто показать ему нужную информацию?
     
  3. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Что бы было более понятно, у меня сервис написанный по php после того как пользователь авторизовался, его кидает в админку, но приеэтом главная страница ему становится недоступна (при переходе на нее он видит белый экран), так вот что бы этого не было, я хочу что бы когда пользователь был авторизован и переходил по ссылке на главную страницу, его редиректило на страницу админки

    Добавлено спустя 53 минуты 32 секунды:
    Я так понимаю это делается с помощью сессии, только вот как, не понимаю(
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну авторизация делается с помощью сессий, или с помощью самостоятельно написанного механизма сессий. После авторизации в сессию пишется, например, идентификатор пользователя. То, что вы говорите, делается элементарно заголовком:
    Код (PHP):
    1. if (isset($_SESSION["user_ID"])) {
    2.     header("Location: /admin.php");
    3.     die;
    4. }
    5.  
    Важно! До вызова header() программа не должна пытаться что-то выводить. Иначе PHP напишет ошибку, и редирект не сработает.
     
  5. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Большое спасибо вам за помощь

    Добавлено спустя 34 минуты 37 секунд:
    После того как вставил, все работает, но теперь на страниц отображается
    На этой странице обнаружена циклическая переадресация
    die; заменял на exit; тоже не помогло
     
  6. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
     
  7. useruser11

    useruser11 Новичок

    С нами с:
    15 авг 2013
    Сообщения:
    12
    Симпатии:
    0
    Мне кажется или можно без die?
    После этого header("Location: /admin.php"); пользователя тправят по адресу и остальная часть скрипта не выполнится.
    ИМХО
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Не, без Die нельзя. Поскольку на момент выполнение header скрипт ещё выполняется на сервере, и можно, в принципе, вывести целую портанку, правда пользователь её не увидит. А вызвав die мы сразу останавливаем скрипт, и даём браузеру заголовок о переадресации. Aguero, почему у вас циклическая переадресация - не знаю, надо весь скрипт смотреть.

    Добавлено спустя 28 секунд:
    Сессию закрывать не надо :)
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень