За последние 24 часа нас посетили 17952 программиста и 1570 роботов. Сейчас ищут 843 программиста ...

Ненужная переадесация

Тема в разделе "PHP для новичков", создана пользователем NataHamster, 26 окт 2015.

  1. NataHamster

    NataHamster Новичок

    С нами с:
    4 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    Имеется файл session.php
    Код (PHP):
    1. <?php
    2. if(!isset($_SESSION['admin'])){
    3. header('Location: /eshop/admin/secure login.php?ref='.$_SERVER['REQUEST_URI']);
    4. }
    5. ?>
    6.  
    7. Включаю require_once "session.php"; в любой другой, к примеру 1.рнр.
    8.  
    9. Перехожу по сайту на 1.рнр, а он сразу переадресовывает на login.php.
    10.  
    11. login.php - содержимое
    12. $title = 'Авторизация';
    13. $login = '';
    14. session_start();
    15. header("HTTP/1.0 401 Unauthorized");
    16. require_once "secure.inc.php";
    17. if($_SERVER['REQUEST_METHOD'] == 'POST'){
    18. $login = trim(strip_tags($_POST['login']));
    19. $pw = trim(strip_tags($_POST['pw']));
    20. $ref = trim(strip_tags($_GET['ref']));
    21. if(!$ref){
    22. $ref = '/eshop/admin/';
    23. }
    24. if($login and $pw){
    25. if($result = userExists($login)){
    26. list($_,$hash) = explode(':',$result);
    27. if(checkHash(trim($pw),trim($hash)) ){
    28. $_SESSION['admin'] = true;
    29. header("Location: $ref");
    30. exit;
    31. }
    32. else{
    33. $title = 'Неправильное имя пользователя или пароль';
    34. }
    35. }
    36. else{
    37. $title = 'Неправильное имя пользователя или пароль';
    38. }
    39. }
    40. else{
    41. $title = 'Заполните все поля формы!';
    42. }
    43. }
    Как исправить ситуацию? Заранее спасибо.

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а которая из этих двух - ненужная ??? ((((((((:)
     
  3. NataHamster

    NataHamster Новичок

    С нами с:
    4 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    Наличие включения require_once "session.php" в любом файле приводит к тому, что он тупо переводит на login.php.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    в этих двух файлах идет подключение session_start(); Его достаточно использовать в начале проекта (;
     
  5. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Два вызова session_start() это не ошибка. Ошибка в том, что автор походу не знает чего он хочет. У него есть чужой код, который что-то делает, но нет внятной цели. Это трудно исправить.

    Добавлено спустя 2 минуты 8 секунд:
    NataHamster, пользуйся кнопкой [ Code ] чтобы оформлять код.
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а я и не сказал - что это ошибка. Просто зачем так "городить" ((:)
     
  7. NataHamster

    NataHamster Новичок

    С нами с:
    4 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    artoodetoo, я совсем новичек, делаю по самоучителю. Согласно ему переадресаций не должно.... Должно быть просто включение файла с сессиями. Можете подсказать, что тут можно сделать...
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Могу: Читайте код. Разбирайтесь с каждой командой.

    Добавлено спустя 53 секунды:
    А главное, должна быть цель.

    — У меня штаны серые, а тапочки в клеточку. Подскажите что тут можно сделать?
    — А что собственно не так? Ну сними штаны, чтоли. Или что???
    — Ну я одел эти штаны с утра, они лежали в шкафу. А до этого я купил их в магазине. Подскажите что я должен сделать?
     
  9. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    носи боксеры и красуйся :D :D :D
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    NataHamster, насколько я могу рассмотреть этот код без нормального форматирования, это авторизация, т.е. контроль доступа. Если пользователь не залогинился, он не должен иметь доступ к странице. Поэтому переадресация нужная. Нужная, ёмана! А ты спрашиваешь как её убрать. Книжку надо внимательно читать!

    Понял, нет?
     
  11. NataHamster

    NataHamster Новичок

    С нами с:
    4 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    К сожалению в видосах все именно так. Я по курсам спецалиста изучаю. Но у автора в видео все получатеся......
     
  12. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Что "к сожалению так"? Логинься, родной.