@joomla7

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

Доброго вечера, столкнулся с проблемой на сайте. Новичок в этой теме.
Сделал регистрацию, создал БД, все работает, но некорректно.
А именно, можно ввести пустые значения в форму регистрацию, и он добавит ее в базу данных, так же если зарегистрироваться, и повторно ввести эти данные, он не выдаст ошибку как положено, а зарегистрирует дубликатом, и в БД будет две одинаковые записи. В чем может быть проблема подскажите? И после успешной регистрации сделать редирект на форму входа, признательно благодарен за будущую помощь!

<?php
require('reg.php');

if (isset($_POST['fio']) && isset($_POST['email']) && isset($_POST['pass'])){
	$fio = $_POST['fio'];
    $email = $_POST['email'];
    $pass = $_POST['pass']; 
	
	$query = "INSERT INTO `users` (fio, email, pass) VALUES ('$fio', '$email', '$pass')";
	$result = mysqli_query($connection, $query);
	
	if($result){
		$smsg = "Регистрация завершена";
	} else {
		$fsmsg = "Ошибка";
	}
}
?>


<section class="login_box_area section_gap">
					<div class="login_form_inner">
						<h3>Регистрация</h3>
						<?php if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php }?>
						<?php if(isset($fsmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fsmsg; ?> </div><?php }?>
						<form class="row login_form" method="POST" id="contactForm" novalidate="novalidate">
							<div class="col-md-12 form-group">
								<input type="text" class="form-control" id="fio" name="fio" placeholder="ФИО" required>
							</div>
							<div class="col-md-12 form-group">
								<input type="text" class="form-control" id="email" name="email" placeholder="Email" required>
							</div>
							<div class="col-md-12 form-group">
								<input type="text" class="form-control" id="pass" name="pass" placeholder="Пароль" required>
							</div>
							<div class="col-md-12 form-group">
								<button type="submit" class="primary-btn">Зарегистрировать</button>
							</div>
						</form>
					</div>
				</div>
			</div>
		</div>
	</section>
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 2
@kikimarik
К вышесказанному UNIQUE KEY на столбец отвечающий за логины
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
В чем может быть проблема подскажите?

В том что ты не написал код, который реализует эту функциональность.
он не выдаст ошибку как положено,

Код никогда не выдает ничего сам по себе.
Только если ты сам напишешь проверку, которая выдает ошибку, то он будет выдаваться.

Добавиь проверку на пустые значения
Добавь проверку на дубликат логина
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы