0

我在这里有搜索功能的代码:

<?php
   include("config.php");
   $search = mysql_real_escape_string($_POST['search']);
   if (!empty($_POST['search'])) {
   $data = mysql_query("SELECT * FROM shop WHERE name LIKE '%$search%' OR shout LIKE '%$search%' ORDER BY id DESC ") or die(mysql_error());
   while ($info = mysql_fetch_array($data)) {
       $name = stripslashes($info['name']);
       $shout = stripslashes($info['shout']);
       //Result code goes here eventually
   }
   }
   ?>

我最终会让它在网格中显示所有结果。
当用户单击一个项目以查看专门用于该项目的页面时(就像任何零售商店网站一样),我的问题就开始了。
我假设在我的搜索代码中我可以使用 $_SESSION 并将所有列设置为会话,然后在我的results.php页面上回显它们。

这是一种有效的方法,还是我做错了?
我看到一些网站,当您单击某个项目时,URL 看起来很疯狂,但又不是,我不确定是什么原因造成的。

4

1 回答 1

0

您可以使用

header('Location: /search/'.rawurlencode($search));
exit;

现在您可以通过以下方式获取搜索字符串

$search = rawurldecode($_GET['your_name']);

并且您的第一页不会与其他页面不同。或者,您可以在搜索表单中使用 method="get"。无论如何,您可以使用 session 来存储您的搜索字符串。

于 2013-08-28T05:41:26.447 回答