【发布时间】:2016-11-27 16:49:49
【问题描述】:
我正在使用下面的代码来打印插入框中的值。但是,在我输入值并单击提交后,什么都没有打印出来。
<html>
<body>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php
if(isset($_POST["submit"])) {
$name = filter_input(INPUT_POST, 'name');
$email = $_POST['email'];
echo $name;
echo $email;
}
?>
</body>
</html>
关于下面我尝试了这两种情况,因为在简单的一个 $_POST['email'] 上我收到了警告:
$name = filter_input(INPUT_POST, 'name');
$email = $_POST['email'];
警告:
不要直接访问超全局 $_POST 数组
我正在使用 Netbeans IDE 8.2。
【问题讨论】:
-
大声笑。
Do not Access Superglobal $_POST Array Directly- 这是由愚蠢的 IDE 提供的。请忽略它。 -
NetBeans IDE 不会阻止您使用 PHP。并且使用
$_POST或任何其他超级全局变量绝不是一个坏主意。 -
@Praveen Kumar 所以使用这种类型的命令没有安全问题?
-
绝对不是。
:) -
@ChristosMichael 最后一点:在测试/开发过程中使用错误报告(没有人解决的问题(直到现在))是至关重要的。按照 php.net php.net/manual/en/function.error-reporting.php 上的此链接并将其应用于您的代码。是的,我同意当有人对代码失败的原因给出一个很好的解释时很重要,但是副本(就其本身而言)也可以做到这一点。 快速提示: 使用条件
if{...}时,请使用伴随的else{...};你会掉进去的。