Heim > Fragen und Antworten > Hauptteil
Ich habe ein Suchformular und die Schaltfläche „Senden“ sieht so aus:
<input type="submit" name="search_submit" value="Go"/>
Ich verwende das folgende PHP, um dieses Formular zu verwalten:
if (isset($_GET['search_submit'])) { do blah }
Funktioniert gut. Aber meine URL enthält dann &search_submit=Go. Ich möchte nicht, dass es angezeigt wird.
Ich weiß, dass ich zur Behebung dieses Problems das Namensattribut aus der Formulareingabezeile entfernen muss.
Aber mein PHP funktioniert nicht mehr und ich weiß nicht, wie ich es ändern soll, um mit dem Formular umzugehen. Ich habe versucht, es zu ändern:
if (isset($_GET['submit']))
und
if (isset($_GET['Go']))
Aber sie funktionieren auch nicht. Es wäre großartig, wenn mir jemand bei der Beantwortung dieser Frage helfen könnte.
P粉4641130782024-02-04 15:15:35
如果你不想在URL
中显示字符串,你可以使用POST
方法。 GET
和 POST
之间的主要区别如下:
获取:
发布:
示例代码:
if (isset($_POST["search_submit"])) { do blah }
P粉9564410542024-02-04 12:59:48
您无法删除输入元素的名称,因为 PHP 不知道要查找哪个值。如果您想完全隐藏 URL 后面的字符串,请使用 请求方法 POST GET
:
您的 PHP 将使用以下内容:
$_POST['search_submit']; // Instead of $_GET['search_submit'];
关于何时使用 GET 和 POST 的一个很好的答案可以在此处找到。
编辑:如果您只是不想让该按钮显示在 URL 中,但其他所有内容仍应在那里(根据您的 评论),您可以简单地删除两者提交按钮的值和名称。
您可以查找其他值,而不是查找要设置的 search_submit
:
if (isset($_GET['username'], $_GET['password'])) { // Do your stuff here }