eprivalov
@eprivalov
Учусь

Почему условие if не срабатывает?

Есть форма:

<form method="POST" action="<?=$_SERVER['SCRIPT_NAME']?>">
                  <input type="tel" name="tel" placeholder="Введите номер телефона">
                  <input type="submit" name="submit" value="Заказать">
                </form>


PHP код:

if (isset($_POST['submit'])) {
                $tel = $_POST['tel'];
                echo $tel;
                $to = "admin@ukr.net";
                $subject = "Заказ обратного звонка с сайта";
                $message = $tel;
                mail($to, $subject, $message, "From: no-reply@alkonarkostop.com.ua\r\n");
                echo "TRUE";
              }
              else{
                echo "false";
              }


Почему условие if не срабатывает?
  • Вопрос задан
  • 2232 просмотра
Решения вопроса 1
@zetabit
исправь условие на
if (isset($_POST['tel']))
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Предлагаю заменить условие на
if($_POST){}
Тогда, даже, если все имена полей заменить все равно работать будет.

Вообще описанное в вопросе работать должно. А что показывает var_dump($_POST) ? Выводит ли "false"?
Ответ написан
eprivalov
@eprivalov Автор вопроса
Учусь
Самое странное, что через GET все сразу заработало!
Ответ написан
Комментировать
@Integrity-178B
Если хотите отправить форму на текущую страницу, то с $_SERVER['SCRIPT_NAME'] лучше не баловаться. Можно просто не указывать action у формы:
<form method="POST">
Ответ написан
Комментировать
fogersp
@fogersp
И print_r($_POST) можно глянуть, есть ли там что.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы