@inkyrein
Начинаю постигать WEB-программирование

Как вывести данные из формы PHP?

Привет всем.
Помогите в чем проблема,
Не могу вывести данные из формы обратной связи.
Я делаю проверку на входящие данные и потом хочу их вывести. Но получается так, что даже если какие-то данные неправильно введены сообщение отправляется, ошибка о неправильности тоже выводиться.
Что неправильно у меня в коде?
if(isset($_POST)){
	$name = $_POST['iFname'];
	$phone = $_POST['iFphone'];
	$email = $_POST['iFmail'];
	$text = stripslashes(html_entity_decode(strip_tags(trim($_POST['iFcomment']))));
	
	$mail ="bla@bla.ru";
	$subject ="Вопрос или заказ";
	$headers= "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=utf-8\r\n";
	$headers .= "From: no-reply@".$_SERVER['SERVER_NAME']."\r\n";
	$message = "
	Имя: $name <br>
	Телефон: $phone <br>
	Эл. почта: $email <br>
	Комментарий: $text <br> 
	";
	if (isset($name) and isset($phone) and isset($email) and isset($text))
	{
		if ((strlen($name) >= 2) and (strlen($name) <= 25))
		{
			$name = stripslashes($name);
			$name = html_entity_decode($name);
			$name = strip_tags($name);
		}
		else
		{
			echo "Вы ввели не корректные данные в поле \"Имя\"";
		}
		if (preg_match('/((8|\+7)-?)?\(?\d{3,5}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}((-?\d{1})?-?\d{1})?/', $phone))
		{
			$phone = stripslashes($phone);
			$phone = html_entity_decode($phone);
			$phone = strip_tags($phone);
		}
		else
		{
			echo "Вы ввели не корректные данные в поле \"Телефон\"";
		}
		if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
			$email = trim($email);
		}
		else
		{
			echo "Вы ввели не корректные данные в поле \"E-Mail\"";
		}
		mail($mail,$subject,$message,$headers);
		echo "Спасибо за сообщение";
	}
	else
	{
		echo "Пожалуйста заполните все поля !";
	}
}
  • Вопрос задан
  • 2710 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
У Вас отправка mail() находится после блока с проверками
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$email = trim($email);
}
else
{
echo "Вы ввели не корректные данные в поле \"E-Mail\"";
}

и никак с ним не связано
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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