【发布时间】:2014-07-22 17:11:09
【问题描述】:
在构建 PHP 应用程序时,我已经到了应该处理搜索引擎脚本的地步,但是我对如何做的问题很少。
我看过很多关于这个问题的指南和教程,但没有一个解释要采用哪种方法。
所以选项是:
带有 post 方法的表单,该方法将发布的关键字提供给执行查询的函数
<?php
$keywords = preg_split('/[\s]+/', $_POST['keywords']);
$products->search($keywords);
?>
<form action="" method="post">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
带有 get 方法的表单会像 ?keywords=x+y+z 这样改变 http 地址,在这种情况下,关键字是从 $_GET 传递的
<?php
$keywords = preg_split('/[\s]+/', $_GET['keywords']);
$products->search($keywords);
?>
<form action="" method="get">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
带有 post 方法的表单在提交时会重定向到同一页面,但带有 ?keywords=x+y+z 插件
<?php
header('Location: file.php?keywords=' . $_POST['keywords']);
exit();
?>
<form action="" method="post">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
<?php
$keywords = preg_split('/[\s]+/', $_GET['keywords']);
$products->search($keywords);
?>
从我学到的知识来看,如果你想实现分页,纯 post 方法非常糟糕。当通过 $_GET ?page=2 切换页面时,帖子不再保留并且搜索结果消失了,我认为我也必须通过帖子切换页面,所以我很困惑我应该采用哪种方法,谢谢您的所有提示: )
【问题讨论】:
标签: php