Как установить связь с кодом php через форму? - PullRequest
0 голосов
/ 16 апреля 2020

Итак, я впервые создал отдельную страницу входа в систему и впервые использовал PHP код. Как вы можете видеть здесь ниже, мой код формы.

<form method="post" action="validate_login.php">
<div class="login-inhoud">
    <h1>Login</h1>
    <div class="login-input">
        <input type="email" id="users_email" name="users_email" size="30" maxlength="30" placeholder="Email">
        <br><br>
        <input type="password" id="users_pass" name="users_pass" size="30" maxlength="30"
               placeholder="Wachtwoord">
    </div>
    <br>
    <div class="login-submit">
        <button type="submit"><b>submit</b></button>
    </div>
</div>

Однако, когда я добавил этот код Php, он не работал. Кроме того, в чем разница между mysql_connect и mysqli_connect?

    <?php
// Grab User submitted information
$email = $_POST["users_email"];
$pass = $_POST["users_pass"];

// Connect to the database
$con = mysqli_connect("localhost", "root", "");
// Make sure we connected successfully
if ($con->connect_errno) {
    echo "Failed to connect to MySQL: " . $con->connect_error;
    exit(); }


// Select the database to use
    mysqli_select_db("my_dbname", $con);

    $result = mysqli_query("SELECT users_email, users_pass FROM users WHERE users_email = $email");

    $row = mysqli_fetch_array($result);

    if ($row["users_email"] == $email && $row["users_pass"] == $pass)
        echo "You are a validated user.";
    else
        echo "Sorry, your credentials are not valid, Please try again.";
    ?>

Когда я нажимаю Отправить на странице, я получаю это сообщение:

Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO) in C:\xampp\htdocs\SCHOOL\Project\Project \validate_login.php on line 7

Notice: Trying to get property 'connect_errno' of non-object in C:\xampp\htdocs\SCHOOL\Project\Project\validate_login.php on line 9

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\SCHOOL\Project\Project\validate_login.php on line 15

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\SCHOOL\Project\Project\validate_login.php on line 17

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\SCHOOL\Project\Project\validate_login.php on line 19

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\SCHOOL\Project\Project\validate_login.php on line 21
Sorry, your credentials are not valid, Please try again.

enter image description here

1 Ответ

0 голосов
/ 16 апреля 2020

В вашем коде много ошибок ...

Просто попробуйте, надеюсь, это сработает:

    <?php
// Grab User submitted information
$email = $_POST["users_email"];
$pass = $_POST["users_pass"];

// Connect to the database
$con = mysqli_connect("localhost", "root", "", "my_dbname"); //Why complicate life?!
// Make sure we connected successfully
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    exit;
}

$result = mysqli_query($con, "SELECT users_email, users_pass FROM users WHERE users_email = $email");

    $row = mysqli_fetch_array($result);

    if ($row["users_email"] == $email && $row["users_pass"] == $pass)
        echo "You are a validated user.";
    else
        echo "Sorry, your credentials are not valid, Please try again.";
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...