【发布时间】:2019-02-19 13:35:12
【问题描述】:
我在一个页面中有一个表单,我在提交表单时重定向到另一个。我需要从另一个页面中的该表单中获取数据,但相反,我只获取新页面。
<form action='/busca' method="get">
<input class='search__input' type='text' placeholder='Buscar por notícia' name='termo'>
</form>
然后在“busca”页面内:
$resultados = 0;
var_dump($_GET);
if( isset($_GET['termo']) ) {
$noticias = getNoticias()->rset;
$resultados = array();
$termo = $_GET['termo'];
$counter = 0;
foreach ($noticias as $id => $noticia) {
if (strpos($noticia['titulo'], $termo) !== false) {
$resultados[$counter]->titulo = $noticia['titulo'];
$resultados[$counter]->id = $noticia['id'];
}
}
}
当我在表单中输入“test”时,它会将我重定向到带有 URL http://localhost/escolas?termo=test 的页面 busca。但是我的代码没有得到这些数据。当我 var_dump $_GET 它给了我:
array(1) { ["params"]=> string(5) "busca" }
但我需要“termo”(在本例中为“test”)。
我能做什么?
【问题讨论】:
-
你是如何提交表格的?
-
连同您如何提交表单,通常 html 表单以 POST 变量结束,而不是 GET,因此请尝试检查 $_POST
-
当用户按回车键时,它会转到“busca”页面。没有提交按钮我不能这样做?
-
猜测,你有一些 url 重写正在进行,这把事情搞砸了。
-
您是否尝试过将您的
action="/busca"更改为action="/busca.php"之类的?据我所知,您必须准备文件的扩展名。如果不是,请提供应用程序的完整简化代码,这将有助于我们回答您的问题。 ;)