我正在尝试运行一个简单的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时,输入随机文字并点击提交
输出结果为:
欢迎您的电子邮件地址是:
我想知道为什么?
答案 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
运行文件
而不是自己的硬盘驱动器。
这就是问题所在。