运行html表单时打印字段不起作用

时间:2014-07-20 23:18:24

标签: php html forms

我正在尝试运行一个简单的PHP-HTML代码,用于打印输入的文本字段

ex.html

    <html>
<body>

<form action="exx.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html> 

exx.php

    <html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html> 

当我运行ex.html时,输入随机文字并点击提交

输出结果为:

  

欢迎您的电子邮件地址是:

我想知道为什么?

4 个答案:

答案 0 :(得分:1)

您是否在网址中看到了结果?

www.site.com/exx.php?name=john&email=jdoe@somthing.com

修改

给这一点。

<html>
<body>
<?php if($_GET){
    echo 'Welcome ' . $_GET['name'] . '</br>';
    echo 'Your eamil address is: ' . $_GET['email'];
} else {?>
<form action="" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php
}
?>
</body>
</html> 

虽然略有不同,但我只是测试它并且它可以工作。

注意:如果您要将其置于实时服务器上,或者让用户触摸它,请确保使用适当的卫生设施。如果您正在构建登录脚本,请使用$ _POST,以及卫生和PDO。

希望这有帮助。

答案 1 :(得分:1)

这应该适用于所有最新版本的PHP:

<body>
<?php
  $name = isset($_GET['name']) ? $_GET['name'] : 'empty';
  $email = isset($_GET['email']) ? $_GET['email'] : 'empty';
?>
Welcome <?php echo $name ?><br>
Your email address is: <?php echo $email ?>

作为额外奖励,您只能使用一个回音:

<body>
<?php
  $name = isset($_GET['name']) ? $_GET['name'] : 'empty';
  $name = isset($_GET['email']) ? $_GET['email'] : 'empty';
  echo "Welcome $name <br>Your email address is: $email"
?>

答案 2 :(得分:1)

如果你看到网址中定义的GET变量,但它们仍然没有显示,那么$ _GET必须是未定义的。

如果您使用的是PHP版本&lt; 4.1.0,$ _GET超全局将在此处未定义。在这种情况下,您将改为使用$ HTTP_GET_VARS:

<强> exx.php

<html>
    <body>
    Welcome <?php echo $HTTP_GET_VARS["name"]; ?><br>
    Your email address is: <?php echo $HTTP_GET_VARS["email"]; ?>
    </body>
</html>

要查看您正在运行的PHP版本,可以使用PHP的phpinfo()函数&gt; = 4.0,或者您可以在命令行中使用命令php --version unix-like操作系统(也可能是Windows)。

答案 3 :(得分:0)

对不起,伙伴们原来是因为我没有通过localhost运行文件 而不是自己的硬盘驱动器。

这就是问题所在。