За последние 24 часа нас посетили 23546 программистов и 1559 роботов. Сейчас ищут 895 программистов ...

Проверка: авторизован ли юзер

Тема в разделе "PHP для новичков", создана пользователем Сереганек, 31 янв 2017.

  1. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Подскажите плиз как на странице делается проверка авторизован юзер или нет. Я предполагаю, что в php-фрагменте необходимо посмотреть есть ли соотвествующая кука и если есть, то получить из нее идентификатор пользователя, отправить запрос на сервер, получить имя пользователя и вывести его имя на странице. Но вот даже с таким фрагментом у меня возникла проблема: на странице юзеру выводятся обе текстовые строки и часть кода.
    PHP:
    1. <body>
    2.     <div class="autorize">
    3.         <div>
    4.             <?php
    5.                 if (empty ($_COOKIE['Auth']))
    6.                 {
    7.                     <h4>Вы не авторизованы на сайте</h4>
    8.                 }
    9.                 else
    10.                 {
    11.                     <h4>Вы авторизованы на сайте</h4>
    12.                 }
    13.             ?>
    14.         </div>
    15.     </div>
    16.     </br>
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Сереганек хранить идентификатор пользователя лучше в сессии, так как cookie хранятся у пользователя в браузере и он может их менять, а в сессию ты сам из кода только пишешь данные.

    Тут подробнее.
     
    Сереганек нравится это.
  3. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек правильнее былобы
    else
    {
    ECHO " <h4>Вы авторизованы на сайте</h4>";
    }
     
  4. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    вот так выглядит этот фрагмент на странице.
    --- Добавлено ---
    Это подправил. Но на странице пока то же, что и было (как на скрине)
    --- Добавлено ---
    Как раз в этом вся фишка, мне это нужно для теста на иньекции (в учебных целях).
     

    Вложения:

  5. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек
    <?php
    if (empty ($_COOKIE['Auth']))
    {
    echo '<h4>Вы не авторизованы на сайте</h4>';
    }
    else
    {
    echo ' <h4>Вы авторизованы на сайте</h4>';
    }
    ?>

    так пробуй мб сервер не поддерживает вставку пхп. те без хтмл
     
  6. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    так это локалхост на денвере, я не ставил никаких ограничений. Сейчас проверю как работает на wamp
    --- Добавлено ---
    На wamp все аналогично
     
  7. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
  8. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Вверху страницы этот самый вывод
     

    Вложения:

  9. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
  10. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    HTML:
    1. <!DOCTYPE html>
    2.     <head>
    3.         <meta charset="UTF-8">
    4.         <title>Изучаем иньекции</title>
    5.         <link rel="stylesheet" type="text/css" href="/mysql.ua/css/style.css">
    6.         <link rel="shortcut icon" href="/mysql.ua/img/favicon.ico">
    7.     </head>
    8.     <body>
    9.     <div class="autorize">
    10.         <div>
    11.             <?php
    12.                if (empty ($_COOKIE['Auth']))
    13.                {
    14.                    echo '<h4>Вы не авторизованы на сайте</h4>';
    15.                 }
    16.                 else
    17.                 {
    18.                     echo '<h4>Вы авторизованы на сайте</h4>';
    19.                 }
    20.             ?>
    21.         </div>
    22.     </div>
    23.     </br>
    24.         <div class="content">
    25.             <table class="maintable">
    26.                 <tbody>
    27.                     <tr>
    28.                         <td>
    29.                             <h2>Авторизация</br> через GET-запрос</h2>
    30.                             <form action="/mysql.ua/php/auth.php" method="get">
    31.                                 <table class="childtable">
    32.                                   <tbody>
    33.                                     <tr>
    34.                                       <td class="first_col">
    35.                                         <label for="login">Логин:</label>
    36.                                       </td>
    37.                                       <td class="second_col">
    38.                                         <input type="text" name="login" id="login" class="sh">
    39.                                       </td>
    40.                                       <td class="third_col"></td>
    41.                                     </tr>
    42.                                     <tr>
    43.                                       <td class="first_col">
    44.                                         <label for="password">Пароль:</label>
    45.                                       </td>
    46.                                       <td>
    47.                                         <input type="text" name="password" id="password" class="sh">
    48.                                       </td>
    49.                                       <td></td>
    50.                                     </tr>  
    51.                                     <tr class="options">
    52.                                         <td></td>
    53.                                         <td><input type="checkbox" name="is_empty">Включить проверку на пустые поля</br></td>
    54.                                         <td></td>  
    55.                                     </tr>
    56.                                     <tr class="option
     
  11. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек код рабочий видимо ты ошибся с редактируемой страницей либо есть доп код
     
  12. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    хм, ок, буду искать
     
  13. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек можешь сам попробовать,- выкинь весь хтмл оставив только код выводит только один результат впрочем иного и быть не может
     
  14. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Удалил почти весь код - ошибка не исчезла

    HTML:
    1. <!DOCTYPE html>
    2.     <head>
    3.         <meta charset="UTF-8">
    4.         <title>Изучаем иньекции</title>
    5.         <link rel="stylesheet" type="text/css" href="/mysql.ua/css/style.css">
    6.         <link rel="shortcut icon" href="/mysql.ua/img/favicon.ico">
    7.     </head>
    8.     <body>
    9.                 <?php
    10.                if (empty ($_COOKIE['Auth']))
    11.                {
    12.                    echo '<h4>Вы не авторизованы на сайте</h4>';
    13.                 }
    14.                 else
    15.                 {
    16.                     echo '<h4>Вы авторизованы на сайте</h4>';
    17.                 }
    18.             ?>
    19.    
    20.     </body>
    21. </html>
    На скрине - это по сути вся страница, больше там ниче нет.

    Есть у кого-нибудь идеи или варианты по какой причине такое может происходить?
     

    Вложения:

    • 45.png
      45.png
      Размер файла:
      8,3 КБ
      Просмотров:
      7
  15. anderstender

    anderstender Новичок

    С нами с:
    15 ноя 2016
    Сообщения:
    55
    Симпатии:
    25
    так, а расширение самой страницы у тебя какое? php же?
     
    Сереганек нравится это.
  16. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек
    ну судя по скрину первое <h4> переводит п хтмл и видимо из-за '>' который воспринимается как конец пыха попробуй '<h4/>' но всё же интересно почему это происходит

    когдато-гдето видел заметку о прерывании пыха так там говорилось о настраивании <? <?php и тд видимо вот эти настройки у тебя и не стандартны
     
    #16 abrdabr, 31 янв 2017
    Последнее редактирование: 31 янв 2017
    Сереганек нравится это.
  17. Сереганек

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

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Вот оно что, Михалыч. Все заработало! Сорри, я думал заключить код в <php> будет достаточно ))