如何将$ _POST ['变量']添加到下一页的网址?

时间:2016-04-21 06:12:53

标签: php

我有一个简单的目标网页,其中包含搜索栏和提交按钮。

我希望下一页的网址为: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;]已允许它发挥作用。

谢谢,所有

3 个答案:

答案 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']: ''?>"

这里我使用空字符串()作为默认值。