Я делаю страницу регистрации PHP для своего сайта, и в настоящее время я использую этот код ниже для действия регистрационной формы. В настоящее время, если вы обновите страницу, после отправки данных в базу данных, она будет повторно отправлена. Я знаю, как использовать перенаправление заголовка, и я также буду использовать его. Хотя я хочу сделать это там, где есть другой пользователь с тем же именем пользователя, чтобы сценарий не отправлялся в базу данных. Как я буду делать это с помощью функции IF?Страница регистрации PHP, прекращение дублирования материалов
<?php
include 'dbconnect.php';
$birth_year= $_POST['year'];
$birth_month= $_POST['month'];
$birth_day= $_POST['day'];
$birthday=$_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'];
$password=md5($_POST['password']);
$sql = "INSERT INTO users (first_name,last_name,username,password,email,gender,birthday) VALUES (:first_name,:last_name,:username,:password,:email,:gender,:birthday)";
$q = $conn->prepare($sql);
$q->execute(array(':first_name'=>$_POST['first_name'],
':last_name'=>$_POST['last_name'],
':username'=>$_POST['username'],
':password'=>$password,
':email'=>$_POST['email'],
':gender'=>$_POST['gender'],
':birthday'=>$birthday));
?>
@UnholyRanger Что это значит? –
«Уникальный индекс» предотвратит использование нескольких строк с одинаковым значением. Поэтому, если пользователь A имеет имя пользователя: альфа и пользователь B пытается его использовать, вставка не будет выполнена. Это также предотвратит повторную отправку (не полностью, но в БД) – UnholyRanger
@unholyranger Хорошо, это хорошо! Но как я могу показать это пользователю? –