我有一个带有搜索栏和提交按钮的简单登录页。
我希望下一页的URL为:mysite.com/after_search.php?search=*the search text here*
。
以下是登录页/index.php页面的代码:
<form class="" action="after_search.php?search="<?php echo $_POST['search_title']?> method="post">
<div class="form-group" id="search_wrapper">
<input type="text" id="search_field" class="form-control color-outline" name="search_title" placeholder="Search">
问题是在加载下一页之前,不会设置$_POST['search_title']。因此,它不起作用,因为此页面上没有定义$_POST['search_title']。
如何将搜索栏的内容添加到下一页的URL?
编辑1
有人建议我切换到GET而不是POST。
但在第二页上,有很多地方使用$_POST〔'…'〕
将所有这些切换到$_GET["…"]使其能够工作。
谢谢,所有
您需要使用$_GET
方法从URL:中获取值
<form class="" action="after_search.php" method="get">
要获取值,请使用:
$_GET['search']
如果您通过链接传递值:
?search=the search text here
这意味着您使用的是$_GET
,因此需要使用$_GET
而不是$_POST
。
您正在获取数据,因此使用GET
方法,并且您希望在url GET
方法中添加变量。
<form class="" action="after_search.php" method="get">
<div class="form-group" id="search_wrapper">
<input type="text" id="search_field" class="form-control color-outline" name="search" placeholder="Search">
如果URL中有此search_title
,则可以使用$_GET['search_title']
。如果不是不可用,则使用默认值。类似的东西
action="after_search.php?search=<?php echo isset($_POST['search_title'])? $_POST['search_title']: ''?>"
在这里,我使用了一个空字符串()作为默认值。