我有一个使用GET表单的站点允许用户指定邮政编码,然后根据该条目提供按距离排序的结果.如果没有zipcode,则只显示所有结果.
我的代码很棒.问题是当我从第1页更改为第2页时,我丢失了查询字符串.
由于其他技术原因,我无法使用POST方法.具体来说,我需要能够以某种方式保存此查询状态并检查所请求页面的URL,并重新查找该查询字符串(如果它为空).
有关如何做到这一点的任何想法?该网站使用了大量的jQuery,但我不确定jQuery是否有办法在多个页面中记住这个字符串.该网站也使用PHP.我不介意将结果存储在PHP会话变量中,然后以某种方式重建URL,但我希望它会比那更直接.谢谢你的想法
蓝色
最佳答案
我认为这种持久数据的最佳选择是使用会话.您的代码检查两件事,一个GET值和一个会话值.我们假设如果两者都存在,则采用GET值.这允许用户提交新的并覆盖旧的.
session_start();
$zip = '';
if($_GET['zip'])
{
//validate zip as needed
$zip = $_GET['zip'];
$_SESSION['zip'] = $zip;
}
elseif($_SESSION['zip'])
{
$zip = $_SESSION['zip'];
}
else
{
//handle default case
}
然后,只要您的PHP代码需要引用查询的邮政编码等,请使用$zip中的值.这样您就不必依赖页面本身来处理zip值 – 您可以将其存储在服务器端并在需要时随时使用它.