За последние 24 часа нас посетили 20255 программистов и 1549 роботов. Сейчас ищут 1876 программистов ...

Проблема при защите страницы паролем

Тема в разделе "PHP для новичков", создана пользователем Dmitrey, 17 дек 2012.

  1. Dmitrey

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

    С нами с:
    17 дек 2012
    Сообщения:
    11
    Симпатии:
    0
    Добрый день. Создал 2е страницы: 1я - форма ввода пароля, 2я - сама страничка,в которой вводятся данные. Первый раз ввод и проверка пароля происходят верно. При повторном вводе можно вести полную абракадабру и спокойно перейти на вторую страницу. Как мне обнулить поле пароля при повторном переходе на 1ю страничку? И 2я страничка при обновлении( в браузере кнопка "обновить" ) загружает эту же страничку, вместо формы ввода пароля. Понимаю, что надо сделать редирект на форму ввода пароля, но каким образом? проверку пароля произвожу при помощи
    if (!isset ($_SESSION['pw'])) {
    $_SESSION['pw'] = $_POST['pw'];
    }
    Буду благодарен за простые разъяснения.
     
  2. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    На страницах в которых нужна авторизация напиши в шапке:
    Код (PHP):
    1. if(!isset($_SESSION['pwd'] || $_SESSION['pwd'] != 'установленный_пароль_md5')) {
    2. // редирект на страницу авторизации
    3. header('Location: ссылка');
    4. } 
    Страница авторизации:
    Код (PHP):
    1. if(isset($_SESSION['pwd']) && $_SESSION['pwd'] == 'md5 установленный пароль') {
    2. // уже авторизован
    3. } else {
    4.      // ?
    5. // не авторизован
    6. }
    7.  
    8. if (isset($_POST['pw']))  {
    9.      if($_POST['pw'] != 'твой_пароль')
    10.        echo 'Укажите верный пароль';
    11.     else {
    12.           $_SESSION['pwd']  =  md5($_POST['pw']);
    13.          // редирект куда нужно
    14.          header("Location: ссылка_на_главную");
    15.     }
    16. }
    17.  
    Не идеально, но работать должно :)
     
  3. Dmitrey

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

    С нами с:
    17 дек 2012
    Сообщения:
    11
    Симпатии:
    0
    Invision , спасибо. С паролем помогло. А вот со страницами,для которых нужна авторизация косяк. При переходе выдает пустую страницу, хотя сам переход произошёл. Пишу сначала блок <?php .... ?> затем ниже блок html. Может чего напутал? В общих чертах идею, что должно произойти и с какими операторами работать?
     
  4. Dmitrey

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

    С нами с:
    17 дек 2012
    Сообщения:
    11
    Симпатии:
    0
    Разобрался. Тема закрыта.