Задать вопрос
@testtoster

Как проверить поле на пустоту?

У меня есть форма, которая содержит в себе какие-то данные. Я хочу защитить форму от спама путем создания скрытого поля email. Если поле пустое, то письмо отправляется, а если поле заполнено, то выдается ошибка.

Что я сделал не правильно?

<?php

$recepient = "test@test.ru";
$sitename = "mySite";

$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$textarea = $_POST['textarea'];
$mail_hidden = $_POST['mail-hidden'];

$services = '';

if (isset($mail_hidden)) {
	if (!empty($_POST["services"]) && is_array($_POST["services"]))
{
    $services = implode(", ", $_POST["services"]);
}

$message = "Имя: $name, \nПочта: $email, \nТелефон: $phone, \nСообщение: $textarea ";

$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");

} else {
	echo ('Пожалуйста, не отправляйте спам');
}
  • Вопрос задан
  • 240 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
isset проверяет, была ли создана переменная.
вызывать эту функцию для переменной, которая была созадна строчкой выше - это бессмыслица

У тебя в следующей строчке стоит empty(). То есть по идее ты знаешь, какой функцией проверить на пустоту. Почему её не используешь?
Ответ написан
Ваш ответ на вопрос

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

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