массив показывает пустой, не давая никакого значения

#php #arrays #post

#php #массивы #Публикация

Вопрос:

Я запускаю функцию для проверки ввода пустым, но проблема в том, что переменная в массиве не работает.

Вот мой код:

 $name = $email = $message = $result = "";
function has_presense($input){
    if(empty($input)){
        return $result = ucwords($input) ." is missing!";
    }
}
if(isset($_POST['send'])){
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $input = array($name,$email,$message);
    foreach($input as $key => $value){
        if(has_presense($key)){
            $result = $value . "is missing";
        }
    }
}
  

Результат:

 Array ( [0] => [1] => [2] => )
  

он показывает пустой массив, в чем проблема.

Комментарии:

1. Где находится код формы. в вашем коде формы есть проблема. Поместите свой полный код (форма php)

2. Можете ли вы предоставить код отправки формы?

3. попробуйте сначала echo $name, $email, $message и проверьте значение вашей переменной. Он пустой?

4. хорошо, позвольте мне проверить и обновить вопрос

5. проверьте атрибут метода формы, в которой он должен быть POST

Ответ №1:

Описание Используйте var_dump($ _POST) или print_r($ _POST), которые сообщат вам, что в нем находится, если отправка формы будет успешно выполнена.

Комментарии:

1. $_POST работает нормально, давая этот результат Array ( [name] => [email] => [message] => [send] => )

2. @MuhammadHamzaNisar print_r() показывает, что ключи не имеют значения? я прав

3. потому что я еще не передал никакого значения внутри $_POST

4. @MuhammadHamzaNisar сначала попробуйте передать все значения, а затем скажите мне

Ответ №2:

Проблема в том, что имя, адрес электронной почты и сообщение пусты.

Попробуйте:

 var_dump($_POST);
  

чтобы проверить, получает ли ваш PHP все.