Я другой девственный кодер, и у меня возникают проблемы при создании очень, очень простой системы аутентификации пользователей. Вопреки наилучшей практике, это небольшой проект, и безопасность не вызывает беспокойства.
Я хочу создать имя пользователя и пароль, которые должны быть зашифрованы и сохранены в базе данных. Затем форма входа, затем направленная на целевую страницу. Я не обеспокоен тем, чтобы оставаться в системе для сеансов; это может быть одна и та же вещь, чтобы получить доступ к одной странице за раз. Очень элементарно, но я все еще не могу понять сам ...
Пользовательский ввод с хэшированным проходом из createuser.html, FORM.php не отправляется в базу данных.
У меня есть код здесь ...
CREATE ADMIN:
....
<div class="body-content">
<div class="module">
<h1>Create Admin</h1>
<form class="form" action="form.php" method="post" enctype="multipart/form-data" autocomplete="off">
<div class="alert alert-error"></div>
<input type="text" placeholder="User Name" name="username" required />
<input type="password" placeholder="Password" name="password" required />
</div>
<input type="submit" value="Register" name="register" class="btn btn-block btn-primary" />
</form>
</div>
</div>
....
form.php
if (!$con)
{die("Failed to connect to MySQL: " . mysqli_connect_error() ); }
$var_user = $_POST['username'];
$var_pass = $_POST['password'];
//encrypt the password
//Grab the password from form data sent via POST
//encrypt the password
$encPassword = password_hash($var_pass, PASSWORD_DEFAULT);
$query = "INSERT INTO users(id, username, password)
VALUES ('id', '$var_user', '$encPassword')";
if (mysqli_query($con, $query))
{echo "User created" . "<br>";}
else
{ die('SQL Error: ' . mysql_error($con) ); }
mysqli_close($con);
?>
ВХОД:
.....
<form name="login" method="post" action="verify.php">
<table width="450px">
<tr>
<td valign="top">
<label for="username">Username</label>
</td>
<td valign="top">
<input type="text" name="username" maxlength="100" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="password">Password</label>
</td>
<td valign="top">
<input type="password" name="password" maxlength="100" size="30">
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="login" value="Login" name="Login" class="btn btn-block btn-primary" />
</td>
</tr>
</table>
</form>
.....
verify.php
<?php
// $encPassword is the hashed password value from our database
// $postPassword is the password from our login form
if (password_verify($postPassword, $encPassword ))
{
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
?>
Я знаю, что это немного, и мне не хватает части для проверки пароля с подключенным именем пользователя. Мне просто очень нужна помощь, друзья мои. Заранее спасибо !!!!