При использовании этого php-процесса для html-форм я получаю только ответ «Hello». Вот ссылка на то, где у меня загружен файл, возможно, это проблема на моем конце break.hostoi.com. Php code it self
<?php $name = $_POST["$name"]; echo "Hello, " . $name; ?>
и вот html при необходимости
<html> <head><title>Hello World</title></head> <body> <form action="process.php" method="post"> Enter your name' <input name="name" type="text"> <input type="submit"> </form> </body> </html>
+ Изменить
$name = $_POST["$name"];
в
$name = $_POST["name"];
знак доллара не должен быть там
["$name"] ^-- // remove this
Добавьте отчет об ошибках в начало файла (ов) сразу после открытия <?php
<?php error_reporting(E_ALL); ini_set('display_errors', 1); // rest of code
Сделав это, возникла бы ошибка, подобная этому:
Примечание. Неопределенная переменная: имя в … (путь файла) в строке X
Чтобы узнать больше об отчетах об ошибках, посетите:
Кроме того, посетите веб-сайт PHP.net. http://php.net
Вы можете просмотреть их веб-сайт, где показаны примеры. Нет лучшего способа начать, чем в самих руководствах.
PHP-формы на PHP.net
Примечания:
Кроме того, вы открыты для атак XSS (межсайтовый скриптинг).
Используйте следующую функцию фильтра (PHP): FILTER_SANITIZE_FULL_SPECIAL_CHARS
$name = filter_var($_POST['name'], FILTER_SANITIZE_FULL_SPECIAL_CHARS);
Эквивалент вызова
htmlspecialchars()
с установкойENT_QUOTES
. Кодировка котировок может быть отключена установкой.
Редактировать:
Согласно комментарию Джереми1026:
«выполнив $_POST["$name"]
вы в основном делаете, $name = foo; $_POST['foo'];
Благодарим вас за дополнительный комментарий, чтобы улучшить ответ.