Я запускаю сервер Apache на MAMP на macOSX. Проблема, с которой я столкнулся, заключается в том, что каждая переменная получает filter_input (), кроме последней, «param». Я пробовал использовать $ _POST ['param']; но безрезультатно. Я перезапустил сервер Apache, но ничего не изменилось. Я уверен, что это синтаксическая ошибка, но все остальные вопросы здесь не имеют отношения к делу и бесполезны. Одна «PHP-форма не получает входные данные» совсем не помогала. Любая помощь приветствуется :)
Обновлено: Я понял, что использование filter_input (INPUT_POST, "param") не требуется, поскольку я не предоставляю фильтр, и что $ _POST ["param"] является более приемлемым методом.
Мой HTML:
<!DOCTYPE html>
<html lang = "en-US">
<head>
<meta charset = "UTF-8">
<title>Code Writer (JAVA)</title>
</head>
<body>
<center>
<h1>Code Writer (JAVA)</h1>
</center>
<form action = "backwards.php" method = "post">
<fieldset>
<label>Enter visibility level (public/private/etc)</label>
<input type = "text" name = "first"><br>
<label>Static Method? Y/N</label>
<input type = "text" name = "static"><br>
<label>Enter return type (int/double/etc)</label>
<input type = "text" name = "return"><br>
<label>Enter method name?</label>
<input type = "text" name = "method"><br>
<label>Paramaters, if any</label>
<input type = "text" name = "param"><br>
<button type = "submit">Submit</button>
</fieldset>
</form>
</body>
</html>
Мой PHP:
<!DOCTYPE html>
<html lang = "en-US">
<head>
<meta charset = "UTF-8">
<title>backwards.php</title>
</head>
<body>
<?php
#Gather inputs
$first = filter_input(INPUT_POST, "first");
$static = filter_input(INPUT_POST, "static");
$return = filter_input(INPUT_POST, "return");
$method = filter_input(INPUT_POST, "method");
$param = filter_input(INPUT_POST, "param");
#Add to $output
$output = $first . " ";
if ($static == "Y") {
$output .= "static" . " ";
}
$output .= $return . " ";
$output .= $method . "(";
$output .= $param;
$output .= ") {} \n";
#Print $output
print($output);
?>
</body>
</html>
Что показывает var_dump($_POST);, если поместить его в начало backwards.php?






Оказалось, что сразу после запуска веб-сайта с комментарием @John Conde «var_dumb ($ _ POST)» он начал работать. Удалив var_dump, он все еще работает, хотя я не понимаю, почему. Вопрос решен, но я все еще не понимаю, почему это работает сейчас, а не раньше.
filter_input(INPUT_POST, "first");- это глупо, поскольку он ничего не делает, поскольку вы не предоставляете фильтр. Это ничем не отличается от использования_POST['first'].