单击链接时POST变量消失

时间:2011-08-12 22:47:40

标签: php variables post state

我只是为搜索设置了一些分页,搜索使用POST变量来定义要搜索的内容等。在我的URL中,我可以像这个搜索/ OFFSET一样设置分页偏移量,并在分页链接中设置我的链接。但是,当我单击链接时,即使我明确设置它们,所有POST变量也会消失,因此我可以在下一个脚本中使用它们。我正在使用codeigniter而且我关闭GET并且真的不想在会话中存储这些5-6值,因为它会变得笨拙。

点击链接是否完全重新加载页面并删除POST变量?

由于

6 个答案:

答案 0 :(得分:2)

是的,单击链接会创建一个GET请求,因此不会保留任何POST数据。虽然在技术上可以用javascript这样做,但这是一个坏主意。

这完全适用于GET,请阅读this fuller explanation

答案 1 :(得分:1)

是的,单击链接会删除所有POST变量。

答案 2 :(得分:1)

您是否有权更改收到请求的php页面?您可能希望在那里调整变量以接受GET或POST:

$defaultvalue='';//change this to '' or NULL or whatever you want
$searchQuery = (isset($_POST['s']) ? $_POST['s'] : (isset($_GET['s'])?$_GET['s']: $defaultvalue));

然后你的php页面将更好地处理GET或POST

答案 3 :(得分:0)

POST数据仅在原始请求期间出现(即它不会在请求之间保留)。如果要保留数据,请使用会话。但是,通常的做法是将GET用于搜索查询和页面。

答案 4 :(得分:0)

您可以使用难以置信的丑陋变通方法,并在单击链接时设置一个包含隐藏字段的表单。我真的不会推荐它。

答案 5 :(得分:0)

您应该能够创建一个表单,使用get变量将一些post变量集提交到action参数。因此,表单应向http://www.somedomain.com/FormSubmit.php?pag=1&sort=asc提交帖子请求。这将提交该表单的帖子值以及字符串的获取值。如果您可以将链接更改为表单按钮,那么您应该很高兴。