【发布时间】:2014-02-11 20:06:25
【问题描述】:
这是我的表格:
<?php
echo '<form method="get" action="" name="formulaire">';
echo '<input type="text" name="info1" title="" value="" />';
echo '<input type="text" name="info2" title="" value="" />';
echo '<input type="text" name="info3" title="" value="" />';
echo '<input type="submit" value="Envoyer" />';
echo '</form>';
echo '$info1 = '.$_GET["info1"].'<br />';
echo '$info2 = '.$_GET["info2"].'<br />';
echo '$info3 = '.$_GET["info3"].'<br />';
?>
我的问题是提交后,所有变量都显示在url中,即使是空的。
我希望仅在 URL 中显示非空变量。
有没有办法用 PHP 做到这一点?
【问题讨论】:
-
然后使用条件语句或者更好,使用
ternary operator -
那么,为什么首先使用
GET方法;为什么不直接选择POST?这样它就不会在地址栏中显示任何内容。您使用GET有什么特殊原因吗? -
@Fred-ii- 我同意。通过发布表单,您可以避免丑陋的 url,并可以相应地处理空变量
-
谢谢迈克。然而,OP 提到了将其用于动态内容的影响。如果由我决定,我只会使用条件语句,因为我从不曾经使用过
GET,它有可能打开众所周知的“蠕虫罐”,包括潜在的安全问题。 @MikePurcell -
(假设您使用的是数据库),对于您的查询是如何完成的以及您正在使用哪些功能会非常小心。那是 IF 您正在使用数据库。您不希望任何人放入一些漂亮的黑客角色来丢弃您的桌子。 @纪尧姆