2014-12-07 47 views
0

我不知道如何来重定向到我相同的URL“X”提交我的表单后如何使用筛选器属性自我发布表单后重定向?

X?name=$name&y=$y&z=$z

<form id="myform" name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<div> 
    <label for="searchterm">Name:</label> 
    <input type="text" name="searchterm"> 
</div> 
<div> 
    <label for="submit"></label> 
    <input type="submit" name="submit" value="Filter"> 
</div> 
</form> 
+0

你的文件的开头检查$ _GET基本上你不知道。在任何HTML显示之前,您都要进行表单处理*,然后发送更新后的HTML表单。另外,您可以在“action”中放置任何内容(或“?”),以确保表单将转到生成它的相同脚本。 – LSerni 2014-12-07 00:39:02

+0

这个问题对于一些不同的解释是开放的,但我如何阅读是他想要提交到URL X,然后在发布数据处理之后,他希望将GET重定向到相同的URL X.这只是一个定期303请参阅本书的其他重定向,以防止可重复的请求,并有意义。 – 2014-12-07 00:41:16

回答

0

我想你正在寻找一个GET请求。

在这种情况下,仅仅从形式删除方法,如GET是默认的HTML表单:

<form id="myform" name="myform" <!-- >> HERE: method="post" << --> action=""> 
<div> 
    <label for="searchterm">Name:</label> 
    <input type="text" name="searchterm"> 
</div> 
<div> 
    <label for="submit"></label> 
    <input type="submit" name="submit" value="Filter"> 
</div> 
</form> 

然后你会看到你描述你的网址已经结束。

您可以通过

$_GET['searchterm']; 

$_GET['submit']; 

在您的文件后获取数据。

您可以通过

if (isset($_GET['submit'])) { 
// do something awesome 
} 
+0

非常感谢。我现在可以在我的网址中获得所有信息并从我的数据库中显示。 – dbodnar 2014-12-07 00:58:15

+0

不客气!请确保保护您的数据库查询。用未过滤的用户输入查询数据库是不安全的。你可以阅读更多关于[这里](http://php.net/manual/de/mysqli.quickstart.prepared-statements.php) – baao 2014-12-07 00:59:53

+1

不用担心。得到了课堂上所有的知识。只是试图找出这个主页,您可以在同一页面上搜索并显示质量过滤。 – dbodnar 2014-12-07 01:03:02

0
header('HTTP/1.1 303 See other'); 
header('Location: '.$_SERVER['REQUEST_URI']); 
die; 
相关问题