Как использовать валидацию для страницы регистрации php?

<?php
session_start();
$username = "";
$email = "";


$db = mysqli_connect("localhost", "root", "", "authentication");

if (isset($_POST['register_btn'])) {
$username = mysqli_real_escape_string($db, $_POST['username']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$password2 = mysqli_real_escape_string($db, $_POST['password2']);



$user_check_query = "SELECT * FROM users WHERE username='$username' OR email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);

if ($user) {
if ($user['username'] === $username) {
header("Refresh:0");
echo "usrname exists";
}

if ($user['email'] === $email) {
header("Refresh:0");
echo "error";
}
}


if ($password == $password2) {

$password = md5($password);
$sql = "INSERT INTO users
(username, email, password, name, street,
postcode, age , center)
VALUES('$username', '$email', '$password', '$name', '$street',
'$postcode', '$age', '$center')";
mysqli_query($db, $sql);
$_SESSION['message'] = "Account registered";
$_SESSION['username'] = $username;
header("location: login.php");
}else{
$_ERROR= "Something went wrong :/";
}
}

Как показано выше, это некоторый код PHP, цель здесь состоит в том, чтобы зарегистрировать пользователя, а затем перенаправить его на страницу входа в систему, однако после нескольких попыток использовать проверку, чтобы увидеть, существует ли уже электронное письмо или имя пользователя, после нажатия кнопки регистрации это все еще просто записывает зарегистрированные данные в базу данных имен аутентификации (пользователи). Я поставил ‘header («Обновить»), чтобы проверить, читает ли он даже оператор if. Кажется, он этого не делает.
Я знаю, что MD5 небезопасен, и я заменю его.

Любой совет о том, что я, возможно, сделал неправильно.
Я использовал фрагменты кода из Вот однако я попытался несколько других решений без удачи.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector