PHP $_POST 不显示数据 - 显示示例代码

标签 php

我是 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/

相关文章:

php - 如何使用 php 获取 MySQL 数据库中的枚举可能值?

php - 插入...重复键更新不适用于 php,但可直接在 MySQL 上使用

php - 将数据信息存储在 SESSION 中而不是使用 MySQL 查询?

php - 注册后在服务器上创建文件夹

php - 如何在 Codeigniter 的 View 范围内取消设置变量

php - PHP 5.4 什么时候发布

php - IOS 8 推荐系统

php - 编码字符最终出现在我的 MySQL 中

PHP:将 pdo_sqlsrv 日期时间列作为对象返回(Linux MSSQL 驱动程序)

php - PHP sqlsrv 驱动程序和 PDO 驱动程序之间的数据类型差异