Экран входа-не работает

У меня есть экран входа все настройки, но мой php код, кажется, не работает с ним. Не могу найти проблему, так как детали, которые я ввожу, правильные, но это не отображает ни один из выходов. 1-переход к следующей странице. 2-быть сообщением дисплея говоря неправильные детали. По крайней мере, это то, что я думаю, что он должен делать. Мой код здесь;

 <?php
 session_start();
 if (isset($_POST['login'])):

 require_once('my_connect.php');
    $username=$_POST['username'];
    $password=$_POST['password'];

    $my_query="SELECT * from loanusers where username='$username' AND    password='$password'";
    $result= mysqli_query($connection, $my_query);

    if (mysqli_num_rows($result) >0):
    while ($myrow = mysqli_fetch_array($result)):

    $_SESSION['userid'] = $myrow["userid"];
    $_SESSION['username'] = $myrow["username"];
    $_SESSION['password'] = $password;
    $_SESSION['usertype'] = $myrow["usertype"];
    $_SESSION['authenticated'] = true;

    echo "<b> Hi ".$_SESSION['username']." (ID: ".$_SESSION['userid']."), You are now logged in!</b>";
    endwhile;

    //header('Location: homepage.php');

    else:
        echo "<b>Username or Password incorrect</b>";
    endif;
    mysqli_close();   

 endif; 
 require_once 'loginheader.php';

 ?>


 <html>
 <body>
 <h2>User Login</h2>
 <div id="loginp"><p>Need an Account? <a href='adduser.php'><b>Sign Up</b>  </p></a></div>


 <table>
 <form method="POST" action="homepage.php" autocomplete="off">
 <input type="text" name="username" placeholder="Username..."> 
 <br><br>
 <input type="password" name="password" placeholder="Password..."> 
 <br><br>
 <input type="submit" name="loanlogin" value="Sign In"  onclick="window.location.href='homepage.php'">
 </form> 
 </table>
 <br>
 <div id="loginp"><p>Forgot your Password?<b> Click Here</b></p></a></div>
 <body>
 <html>
Метки

3 ответа

  1. Удалить onclick как пользователь nv1t сказал, Как, уже есть form actionссылка на ту же страницу. onclickфункции предназначены только для <button>тегов

    Чтобы извлечь значение, проверьте, как получить выбранное значение базы данных в качестве переменной сеанса в php-stackoverflow

    Щелкните галочку рядом с ответом, если это помогло.

  2. Проверьте эти две идеи:

    1. Каковы значения $username$passwordинструкции select и до их выдачи. (я бы предположил, что они пусты, затем удалите onclick)
    2. является ли их действительно имя пользователя с этим паролем в базе данных.

    я бы предположил, что это onclick в вашем сообщении. Вам не нужно это событие их и это не отправка элемента формы.

    Обратите внимание, что ваш код выглядит уязвимым для SQL и XSS инъекций, важно также узнать о безопасности во время обучения на PHP 🙂

  3. Действие HTML post переносило меня на другую страницу в обход сценария входа.

    Я изменил действие на index.php and the login теперь отображает ошибку, если данные неверны, и выводит меня на страницу take, если данные верны.

    Спасибо всем за помощь