if (! empty ($ _POST)) не работает

У меня есть эта форма и возникают проблемы с моими данными $ _POST, которые не проходят:

Форма:

<form action="" id="contact-form" method="post"> <input id="nombre" size="16" type="text" placeholder="Nombre"> <input id="email" size="16" type="text" placeholder="Email"> <textarea id="texto"></textarea> <input type="submit" value="Enviar"> 

PHP:

 <?php if(!empty($_POST) { echo "YES"; } else { echo "NO"; } ?> 

Он всегда перекликается с «НЕТ», когда я заполняю и отправляю все поля.

Вы пропустили атрибут имени полей ввода. Измените свой html и добавьте их:

 <form action="" id="contact-form" method="post"> <input id="nombre" name="nombre" size="16" type="text" placeholder="Nombre"> <input id="email" name="email" size="16" type="text" placeholder="Email"> <textarea id="texto" name="texto"></textarea> <input type="submit" value="Enviar"> 

Обратите внимание, что атрибут id не требуется. Вы можете опустить его, если вам не нужно его для других целей, например, для его использования в таблице стилей или в javascript. Для простоты отправки формы требуется только атрибут name

если вы хотите определенное поле, попробуйте:

 if(isset($_POST['field']{0})){ 

Если вы хотите проверить несколько полей POST, попробуйте:

 if(count($_POST)>0){ 

Ваш вход должен иметь набор атрибутов name , который устанавливает их в массив $ _POST. id игнорируется при отправке форм!

 <input id="nombre" size="16" type="text" placeholder="Nombre" name="nombre"> 

и вы получите его в $ _POST ['nombre']

Это альтернативное решение, если вы добавляете атрибут «name» к своим входам, он должен работать:

  if (count($_POST) == 0) { echo "YES"; } else { echo "NO"; } 

Вам нужно указать переменную, например $_POST['email'] . Для всех полей старайтесь;

if(!empty($_POST['Nombre']) && !empty( $_POST['email']) && !empty ( $_POST['texto'])) { ...

Извините, я нахожусь на мобильном устройстве, такая боль, чтобы правильно набрать орфографию.