我有一个简单的目标网页,其中包含搜索栏和提交按钮。
我希望下一页的网址为: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 [&#39; search_title&#39;] 在下一页加载之前未设置。因此,它不起作用,因为 $ _ POST [&#39; search_title&#39;] 未在此页面上定义。
如何将搜索栏的内容添加到下一页的URL?
编辑1
有人建议我切换到GET而不是POST。
但在第二页上,有很多地方使用$ _POST [&#39; ...&#39;]
将所有这些转换为$ _GET [&#39; ...&#39;]已允许它发挥作用。
谢谢,所有
答案 0 :(得分:2)
您需要使用$_GET
方法从网址获取值:
<form class="" action="after_search.php" method="get">
要获取该值,请使用:
$_GET['search']
如果您通过链接传递值:
?search=the search text here
这意味着您使用的是$_GET
,因此您需要使用$_GET
代替$_POST
。
答案 1 :(得分:1)
您正在获取数据,因此请使用GET
方法,并希望在网址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">
答案 2 :(得分:1)
如果您在网址中有此search_title
,则可以使用$_GET['search_title']
。如果不是不可用,则使用默认值。像
action="after_search.php?search=<?php echo isset($_POST['search_title'])? $_POST['search_title']: ''?>"
这里我使用空字符串()作为默认值。