#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 все.