我是 PHP 新手,我尝试使用 w3 学校在表单上发布数据的示例..
它对我来说永远不起作用...网页不显示任何数据,我尝试了几个论坛,但也没有帮助..我仍然把它弄空!
示例 #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
Post 参数不显示数据。非常感谢任何帮助。
最佳答案
什么 W3Schools (PHP Form Handling)需要提及的是,整个 (2) 代码主体需要位于单个文件中,或者位于 2 个单独的文件中,才能按预期工作。
但是,W3Schools 和 OP 的代码并不完全相同,并且已使用 htmlspecialchars
进行了修改。和(int)
如果您想使用htmlspecialchars
,在您的 welcome.php
中执行以下操作文件:
<?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 );
?>
注意:我对从自己的计算机上运行网络服务器几乎一无所知,但根据我发现的信息 here on SO
提到为了访问您的 PHP 文件,您需要输入 http://localhost
在网络浏览器的地址栏中以及文件所在的文件夹中。
请访问this answer
出于某种原因,StackOverflow 不允许我在该页面上插入代码。
关于PHP $_POST 不显示数据 - 显示示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238342/