Top.Mail.Ru
Ответы

Как в этой случае - остановить скрипт.

Здравствуйте.
Как в этой случае - остановить скрипт. А то когда не вводишь ничего, то выдается как положено и не правильно, т. е все подряд и регистрируется....Это же не правильно.. .Должно, проверить и если что то не так, то сообщить то что не так, и не регистрировать, пока пользователь не исправит свои ошибки...
http://pastebin.com/C1FjiUC6
PS. Для полной остановки скрипта используйте exit() или die(). В скобках указывайте сообщение, которое нужно вывести.
Но
Но если так делать, то получается, что все формы полей с текстом исчезнут, а только выведет сообщение в белом фоне. Это не устраивает никому. Я думаю возможно есть другая идея? Чтобы выводились при форме. Но я пытался сделать через else но ни как в голову не приходит....Если можете то покажите примеры!

По дате
По рейтингу
Аватар пользователя
Мыслитель
11лет

Это скрипт регистрации я так понимаю)) ) Ну можно обязательным полям задать атрибут required из HTML5))Но если чисто на PHP то исползуйте сессии) ) )

<?php

//Этот скрипт должен быть до DOCTYPE

if(isset($_POST['reg'])) {//Если кнопка нажата

session_start();//Начинаем сессию
unset($_SESSION['empty_login']);//Удаляем предыдущие сессии об ошибке
unset($_SESSION['empty_password']);
unset($_SESSION['empty_r_password']);
unset($_SESSION['error_passwords']);

$login = htmlspecialchars($_POST['login']);//Получаем логин
$password = htmlspecialchars($_POST['password']);//Получаем пароль
$r_password = htmlspecialchars($_POST['r_password']);//Получаем повтор пароли
$bad = false;

if(empty($login)) {//Если логин пуст
$bad = true;
$_SESSION['empty_login'] = 1;//Создаём сессию. . то же самое делаем и для остальных полей) )
}

if(empty($password)) {
$bad = true;
$_SESSION['empty_password'] = 1;
}

if(empty($r_password)) {
$bad = true;
$_SESSION['empty_r_password'] = 1;
}

if($password != $r_password) {
$bad = true;
$_SESSION['error_passwords'] = 1;
}

if(!$bad) {
//Если ошибок нет то регистрировать
}

?>

<?php

//А это до формы
if($_SESSION['empty_login'] == 1) echo 'Вы не ввели логин';
if($_SESSION['empty_password'] == 1) echo 'Вы не ввели пароль';
if($_SESSION['empty_r_password'] == 1) echo 'Вы не подтвердили пароль';
if($_SESSION['error_passwords'] == 1) echo 'Пароли не совпадают';

?>

<form action="" method="post">
<input type="text" name="login" /><br />
<input type="password" name="password" /><br />
<input type="password" name="r_password" /><br />
<input type="submit" name="reg" value="Регистрация" />
</form>

Как то так))) ) Переделайте под себя))))))