PHP $ _POST не отображает данные. Пример кода показан

Я новичок в PHP, я пытался работать в школьных школах примера размещения данных о формах.

Это никогда не работает для меня … на веб-странице не отображаются какие-либо данные, я пробовал несколько форумов, а также SO, которые никогда не помогали … Я все равно все путаю!

Пример №1: Простой контакт из – HTML-код

<form action="action.php" method="post"> <p>Your name: <input type="text" name="name" /></p> <p>Your age: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> 

Пример № 2: печать данных из нашей формы

 Hi <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> years old. 

Ожидаемый результат этого скрипта может быть:

 Hi Joe. You are 22 years old. 

Фактический результат:

 Hi . You are years old 

Параметр «Сообщение» не отображает данные. Любая помощь действительно оценена.

Related of "PHP $ _POST не отображает данные. Пример кода показан"

То, что W3Schools (обработка форм PHP) не упоминается, состоит в том , что целые (2) тела кода должны либо находиться внутри одного файла, либо в двух отдельных файлах, чтобы он работал как ожидалось.

Однако код из W3Schools и OP не является indentical и был изменен, используя htmlspecialchars и (int)

Если вы хотите использовать htmlspecialchars , выполните следующие действия в файле htmlspecialchars :

 <?php $fname = htmlspecialchars($fname); ?> Welcome <?php echo $_POST["fname"]; ?>!<br> You are <?php echo (int)$_POST['age']; ?> years old. 

Используемая форма:

 <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="fname"> Age: <input type="text" name="age"> <input type="submit"> </form> </body> </html> 

Я не видел упоминания на веб-сайте W3Schools об использовании htmlspecialchars или (int)

 Hi <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> years old. 

Если вы хотите использовать htmlspecialchars, тогда вы должны использовать следующий синтаксис:
$fname = htmlspecialchars( $fname ); И помещены в теги <?php и ?> Например:

 <?php $fname = htmlspecialchars( $fname ); ?> 

ПРИМЕЧАНИЕ . Я почти ничего не знаю о запуске веб-сервера с моего собственного компьютера, но из информации, которую я нашел здесь, на SO упоминает, что для доступа к вашим файлам PHP вам нужно набрать http://localhost в адресной строке вашего веб-браузера и папку, в которой находится ваш файл.


Пожалуйста, посетите этот ответ

StackOverflow не позволял мне вставлять коды на эту страницу по той или иной причине.

В <form> «действие» отправляется ваше сообщение POST. Так выглядит ли ваша файловая структура так?

 //index.php <form action="action.php" method="POST"> // <-- make sure to capitalize method="POST" as well <p>Your name: <input type="text" name="name" /></p> <p>Your age: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> 

,

 //action.php Hi <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> years old. 

РЕДАКТИРОВАТЬ

Похоже, что вы можете получать ошибки в PHP, которые отключены. Попробуйте это в файле action.php и повторно отправьте страницу.

 //action.php <?php error_reporting(E_ALL); ?> Hi <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> years old. 

EDIT 2

Похоже, что вы можете получать ошибки в PHP, которые отключены. Попробуйте это в файле action.php и повторно отправьте страницу.

 //action.php <?php error_reporting(E_ALL); ?> Hi <?php echo $_POST['name']; ?>. You are <?php echo $_POST['age']; ?> years old. 
  1. «post» или «POST» отлично работают в теге формы.
  2. Следующее должно быть в action.php

      Hi <?php echo htmlspecialchars($_POST['name']); ?>. You are <?php echo (int)$_POST['age']; ?> years old. 
  3. Если вы все же получите это, перейдите на php.ini и установите свои ошибки в E_ALL и E_STRICT

и проверьте, какая ошибка.

Скорее всего, теперь он должен работать …

В вашей форме проверьте, не отправляет ли пустые значения.

ШАГ 1 скопируйте и вставьте следующий код в текстовый редактор и запустите его. Это позволит вам проверять значения из формы без перенаправления страницы.

Следующий код должен быть в index.php

 <form action="action.php" method="POST" onsubmit="return validate()"> <p>Your name: <input type="text" name="name" id="name"/></p> <p>Your age: <input type="text" name="age" id="age"/></p> <p><input type="submit" /></p> </form> <script type="text/javascript"> function validate(){ var name=document.getElementById("name").value; var age=document.getElementById("age").value; alert ("Name="+name+" age="+age); return false; } </script> 

Этот код проверяет правильность ввода значений без перенаправления страницы на action.php.

Шаг 2 Если вы получаете желаемый результат из предыдущего кода, вы можете заменить функцию проверки на код ниже. ( замените все между тегами скрипта )

  function validate(){ var name=document.getElementById("name").value; var age=document.getElementById("age").value; if (name==null || name==""){ return false; } if (age==null || age==""){ return false; } return true; } 

Если имя и возраст заполнены в форме, отправьте теперь перенаправление на action.php

Шаг 3 В action.php используйте следующий код.

 <? //These code goes in action.php extract ($_POST); echo "Hi $name. You are $age years old"; ?> 

отредактирован с инструкциями по запросу OP

Просто укажите, что ваша форма работает с вашего сервера ( http: // localhost. ), А не сама форма (файл: /// C: xampp ..). Счастливое кодирование