Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2019, 11:57   #1
PricoL102rus
Новичок
Джуниор
 
Регистрация: 13.04.2019
Сообщений: 1
По умолчанию не работают проверки на пустоту поля php

Доброго времени суток! Прописываю регистрацию и не могу понять в чем дело!
Код:
<?php
require "db.php";
$data = $_POST;
if( isset($data['do_obana']) )
{
	//здесь регистрируем

	$errors = array();
	if (trim($data['surname']) == '')
	{
		$errors[] = 'Введите фамилию!';
	}

	$errors = array();
	if (trim($data['name']) == '')
	{
		$errors[] = 'Введите имя!';
	}

	$errors = array();
	if (trim($data['email']) == '')
	{
		$errors[] = 'Введите email!';
	}

	$errors = array();
	if (trim($data['login']) == '')
	{
		$errors[] = 'Введите логин!';
	}

	$errors = array();
	if ($data['password'] == '')
	{
		$errors[] = 'Введите пароль!';
	}

	$errors = array();
	if ($data['password_2'] != $data['password'])
	{
		$errors[] = 'Повторный пароль введен не верно!';
	}

	if( empty($errors)  )
	{
		//все хорошо, регистрируем
		$user =R::dispense('users');
		$user->login = $data['login'];
		$user->password = $data['password'];
		$user->password2 = $data['password2'];
		R::store($user);
		echo '<div style="color: green;>Вы успешно зарегестрированы!</div><br>';
	}
	else
	{
		echo '<div style="color:red;">'.array_shift ($errors).'</div><br>';
	}
}

?>

<form action="/register.php" method="POST">
<p>
	<P><strong>Фамилия*</strong></p>
	<input type="surname" name="surname" value="<?php echo @$data['surname']; ?>">
</p>
<p>
	<P><strong>Имя*</strong></p>
	<input type="name" name="name"value="<?php echo @$data['name']; ?>">
</p>

<p>
	<P><strong>Отчество</strong></p>
	<input type="patronymic" name="patronymic"value="<?php echo @$data['patronymic']; ?>">
</p>
<p>
	<P><strong>Ваш email*</strong></p>
	<input type="email" name="email"value="<?php echo @$data['email']; ?>">
</p>
<p>
	<P><strong>Логин*</strong></p>
	<input type="login" name="login"value="<?php echo @$data['login']; ?>">
</p>
<p>
	<P><strong>Пароль*</strong></p>
	<input type="Password" name="Password">
</p>
<p>
	<P><strong>Повторите пароль*</strong></p>
	<input type="Password" name="Password2">
</p>
<p>
	<button type="submit" name="do_obana">Зарегистрироватся
	</button>
</p>
</form>
В общем когда поле пустое не выдает ошибку просто текст весь подсвечивается зеленым! Буду очень признателен если кто подскажет
PricoL102rus вне форума Ответить с цитированием
Старый 14.04.2019, 08:12   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Ну зачем же массив ошибок обнулять перед каждой проверкой? Только один раз в начале скрипта! У вас по сути может проверить только на последнюю ошибку в списке
ADSoft вне форума Ответить с цитированием
Старый 18.04.2019, 18:19   #3
freebsdd
Пользователь
 
Регистрация: 18.04.2019
Сообщений: 26
По умолчанию

Согласен, убрать нужно $errors = array(); кроме как сверху

и вместо if (trim($data['surname']) == '') можно if(empty($data['surname']))

и ошибки орфографические исправить
freebsdd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с циклом. Компилируется нормально,кнопки Один,Два,Три,Четыре и Пять работают хорошо,но кнопки 6 и 7 не работают. Bananiys24 Общие вопросы по Java, Java SE, Kotlin 1 16.06.2017 17:01
Проверка поля на пустоту denis.ta-com Microsoft Office Access 8 03.01.2016 20:44
Условие для проверки файла на пустоту Pascal olga_v95 Помощь студентам 8 18.03.2013 11:07
генератор поля, не работают триггеры delphi Domanoff БД в Delphi 4 07.04.2010 21:40
ajax+php не работают проверки if Tirendus JavaScript, Ajax 10 23.03.2010 11:46