За последние 24 часа нас посетили 18813 программистов и 1608 роботов. Сейчас ищут 1080 программистов ...

Код для авторизации

Тема в разделе "PHP для новичков", создана пользователем LLBeTok, 18 июн 2024.

  1. LLBeTok

    LLBeTok Гость

    С нами с:
    18 июн 2024
    Сообщения:
    1
    Симпатии:
    0
    PHP:
    1. <?php
    2. require_once 'connect.php';
    3. if (isset($_REQUEST['RegLogin'])) {$regname=$_REQUEST['RegLogin'];}
    4. if (isset($_REQUEST['RegPassword'])) {$regpassword=$_REQUEST['RegPassword'];}
    5. if (isset($_REQUEST['Login'])) {$name=$_REQUEST['Login'];}
    6. if (isset($_REQUEST['Password'])) {$password=$_REQUEST['Password'];}
    7.  
    8. $sql = "SELECT * FROM User WHERE Login='$name'";
    9. $result = mysqli_query($link, $sql); //извлекаем из базы все данные о пользователе с введенным логином
    10. $myrow = mysqli_fetch_array($result);
    11.  
    12. if (isset($_REQUEST['logbaton']))
    13. {
    14.     if (empty($myrow['Login']))
    15.     {
    16.     //если пользователя с введенным логином не существует
    17.     header("Location: ../registr.php?status=1");
    18.     }
    19.     else
    20.     {
    21.     //если существует, то сверяем пароли
    22.     if (password_verify($Password, $myrow['Password']   )) {
    23.     //если пароли совпадают, то запускаем пользователю сессию
    24.     session_start();
    25.     $_SESSION['username']=$name;
    26.     $_SESSION['id']=$myrow['id'];
    27.    
    28.     if ($myrow['role']==2)
    29.     header("Location: ../index.php");
    30.     else
    31.     header("Location: ../admin/index.php");
    32.     }
    33.     else {
    34.     //если пароли не сошлись
    35.    
    36.     header("Location: ../registr.php?status=1");
    37.     }
    38.     }
    39. }
    40. ?>
    Но залогиниться не получается
     
  2. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    425
    Симпатии:
    79
    Адрес:
    Бавария, Германия
    Добрый день!
    Если что-то не получается и причина не угадывается, нужно проверить ecли соединение с БД
    PHP:
    1. require_once 'connect.php';
    2. var_dump($link);
    и посмотреть содержимое массива
    $_REQUEST
    PHP:
    1. echo "<pre>;
    2. print_r($_REQUEST);
    , а также добавить
    PHP:
    1. $myrow = mysqli_fetch_array($result, MYSQLI_ASSOC);
    2. print_r($myrow);
    Если предположить, что кнопка 'logbaton' это submit формы, то проверка
    PHP:
    1. if (isset($_REQUEST['logbaton']))
    2. {
    должна быть в первой строке кода, и после неё должно быть else {}
    Удачи!