Я пытаюсь построить систему входа в систему с регистрацией и т. Д.
сейчас для регистрации я использую форму и метод «пост». Теперь он терпит неудачу в том, что я думаю, отправляет вход через сообщение. Вы можете помочь мне это исправить? вот код, включенный в это:
выше!
<?php
include('connect.php');
// If the values are posted, insert them into the database.
if (isset($_POST["username"]) && isset($_POST["password"])){
$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$query = "INSERT INTO `user` (username, password, email) VALUES ($username, $password, $email)";
$result = mysqli_query($query);
if($result){
$msg = "User Created Successfully.";
}
else
{echo "fail";}
}
?>
форма:
<div class="register-form">
<?php
if(isset($msg) & !empty($msg)){
echo $msg;
}
?>
<h1>Registreer</h1>
<form action="" method="POST">
<p><label>User Name : </label>
<input id="username" type="text" name="username" placeholder="username" /></p>
<p><label>E-Mail : </label>
<input id="password" type="email" name="email" required placeholder="[email protected]" /></p>
<p><label>Password : </label>
<input id="password" type="password" name="password" placeholder="password" /></p>
<a class="btn" href="login.php">Login</a>
<input class="btn register" type="submit" name="submit" value="Registreer" />
</form>
</div>
Connect.php
<?php
$servername = "localhost";
$username = "sqluser";
$password = "Welkom01!";
$dbname = "users";
$connection = mysqli_connect($servername, $username, $password);
if (!$connection){
die("Database Connection Failed". mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, $dbname);
if (!$select_db){
die("Database Selection Failed" . mysqli_error($connection));
}
?>
Заранее спасибо.
Согласно вашему первоначально опубликованному вопросу и не помечая это как редактирование под вашим недавно отредактированным вопросом, если кто-то спросит, почему ответ.
Так как мы более чем вероятно имеем дело со строками
VALUES ($username, $password, $email)
нужно заключить в кавычки:
VALUES ('$username', '$password', '$email')
вам также нужно передать соединение с БД на ваш запрос $result = mysqli_query($query);
Редактировать: (Вы добавили свой код подключения к БД после) из вашего оригинального поста
Поскольку вы не показали, какое у вас соединение с БД, это будет что-то вроде
$result = mysqli_query($connection,$query);
плюс, добавляя or die(mysqli_error($connection))
в mysqli_query()
У вас также пропал &
в if(isset($msg) & !empty($msg)){
который должен читаться как if(isset($msg) && !empty($msg)){
Пароли
Я также заметил, что вы можете хранить пароли в виде простого текста. Это не рекомендуется.
Используйте одно из следующего:
crypt()
bcrypt()
scrypt()
password_hash()
функция.Другие ссылки:
Других решений пока нет …