PHP отправлять в таблицу базы данных только для аутентифицированных пользователей - PullRequest
0 голосов
/ 10 апреля 2019

РЕДАКТИРОВАТЬ: код теперь работает. Добавлен некоторый код в исходный код ниже.

Итак, у меня есть база данных с именем payload, и в ней есть две таблицы; один назвал пользователей, а другой назвал здесь. Обе эти таблицы просто имеют два столбца; имя пользователя и пароль. Таблица tohere пуста. Таблица пользователей, однако, имеет две заполненные строки. Первая строка имеет admin и admin123 в качестве имени пользователя и пароля соответственно. Во второй строке есть посетитель и посетитель123 в качестве имени пользователя и пароля соответственно. Существует HTML-форма с двумя полями ввода, где пользователи вводят имя пользователя и пароль. Теперь идея заключается в том, что если имя пользователя и пароль, которые они вводят в форму, соответствуют записям в таблице пользователей, я хочу, чтобы это содержимое было отправлено в таблицу tohere, которая в настоящее время пуста. Как мне это сделать?

Я пробовал следующий код, который, кажется, не работает;

<html>
    <head>
        <title>
        </title>
<?php
$message     = "";
$theusername = $_POST['userName'];
$thepass     = $_POST['password'];
if (count($_POST) >
    0) {
    $conn   = mysqli_connect("localhost", "root", "", "payload");
    $result = mysqli_query($conn, "SELECT * FROM users WHERE     userName='" . $_POST["userName"] . "' and password = '" . $_POST["password"] . "'");
    $count  = mysqli_num_rows($result);
    if ($count == 0) {
        $message = "Invalid Username or Password!";
    } else {

        $sqltwo = "INSERT INTO tohere (userName, password) VALUES ('$theusername', '$thepass')";
//The below if statement was missing.
if(!mysqli_query($conn, $sqltwo)){
    echo "Failed!";
}
else{
    echo "Success!";
}
    }
}
?>
</head>
    <body>
        <form action="" method="post" name="frmUser">
            <div class="message">
                <?php if ($message != "") {echo $message;}?>
            </div>
            <table align="center" border="0" cellpadding="10" cellspacing="1" class="tblLogin" width="500">
                <tr class="tableheader">
                    <td align="center" colspan="2">
                        Enter Login Details
                    </td>
                </tr>
                <tr class="tablerow">
                    <td>
                        <input class="login-input" name="userName" placeholder="User Name" type="text"/>
                    </td>
                </tr>
                <tr class="tablerow">
                    <td>
                        <input class="login-input" name="password" placeholder="Password" type="password"/>
                    </td>
                </tr>
                <tr class="tableheader">
                    <td align="center" colspan="2">
                        <input class="btnSubmit" name="submit" type="submit" value="Submit"/>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

Пока этот код работает, но только частично. Когда я ввожу имя пользователя и пароль не в таблицу пользователей, я получаю сообщение «Неверное имя пользователя или пароль!», Но это нормально, но когда я ввожу записи, которые находятся в таблице пользователей, форма не отправляется в таблицу tohere. , На самом деле ничего не происходит. Просто пустой белый экран. Что дает?

...