PHP永久变量,但多变?

时间:2011-03-05 01:29:20

标签: php mysql variables limit

这是关于php理论的更多问题,并想知道如何完成这个场景..

所以我有一个分页的图库,所有这些都是通过$ _GET重新加载页面完成的。

我希望用户能够更改页面上显示的图像数量(基本上是我的LIMIT)。我有这个工作,但是当他们进入下一页时,php会重新加载,并且pagecount会重置为默认值。

有没有办法在选择页面数时通过$ _POST将这个变量存储到另一个页面,然后每次页面重新加载时,它都会获取该变量,所以不会重新设置?

请原谅我的高傲。希望这是有道理的

3 个答案:

答案 0 :(得分:2)

我相信你正在寻找会话变量

<?php
session_start(); 
$_SESSION['views'] = 1; // store session data
echo "Pageviews = ". $_SESSION['views']; //retrieve data
?>

http://www.tizag.com/phpT/phpsessions.php

答案 1 :(得分:1)

你想要的是PHP会话,

  

...包含一种在后续访问中保留某些数据的方法

有关详细信息,请参阅the PHP docs

答案 2 :(得分:0)

每当您向服务器发出请求时,都要传递您需要的所有变量。因此,如果您通过提交表单来更改限制,请将页码作为隐藏表单字段传递:

<select name="limit">...</select>
<input type="hidden" name="pageNum" value="<?= htmlspecialchars($pageNum) ?>" />

或者,如果您使用链接更改限制,请将页码作为另一个URL参数传递:

<a href="?limit=10&pageNum=<?= htmlspecialchars($pageNum) ?>">Limit 10</a>

然后,您可以使用$_POST["pageNum"]$_GET["pageNum"]在服务器上阅读。

我不建议在会话中存储这样的内容。如果这样做,您将阻止人们将多个窗口打开到不同的页面。最好传递请求中的所有内容(即表单或链接)。