在php上回显我的表单值

时间:2016-11-27 16:49:50

标签: php html forms

使用下面的代码打印正在框中插入的值。但是,在我输入值并单击提交后,没有任何内容正在打印出来。

<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'];

警告:

  

不要直接访问Superglobal $ _POST数组

我正在使用Netbeans IDE 8.2。

2 个答案:

答案 0 :(得分:1)

永远不会设置:

if (isset($_POST["submit"])) {

而是将其更改为:

if (count($_POST) > 0) {

您没有符合name="submit"的任何元素。此外,我们很多人都使用isset($_POST["submit"])这是一个不好的做法,不会为其命名。

如果您想检查特定的设置,例如您的情况,则需要执行以下操作:

if (count($_POST) > 0 && isset($_POST["name"]) && isset($_POST['email'])) {

如果您仍希望使用上述设置使代码正常工作,请在此处添加namevalue

<input type="submit" name="submit" value="Submit" />

答案 1 :(得分:0)

没有属性名称为'submit'的HTML元素。

<input type="submit">替换为<input type="submit" name="submit">

不要使用isset($_POST['submit'])因为它被认为是一种不好的做法。

相反,您可以使用!empty($_POST)。这样做是被认为是安全的。