Привет всем.
Помогите в чем проблема,
Не могу вывести данные из формы обратной связи.
Я делаю проверку на входящие данные и потом хочу их вывести. Но получается так, что даже если какие-то данные неправильно введены сообщение отправляется, ошибка о неправильности тоже выводиться.
Что неправильно у меня в коде?
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 "Пожалуйста заполните все поля !";
}
}