我正在使用会话来确定我们网站的访问者下载文件的次数。如果 的值downinc
等于 3,那么我们强制他们在网站上注册。
例如,我有一个带有下载按钮的 pos_source_code.php 页面,然后在第一次请求时将会话downinc
设置为 1。
if (!isset($_SESSION['downinc'])) $_SESSION['downinc'] = 1;
当访问者单击 pos_source_code.php 页面上的下载按钮时,他/她将被重定向到另一个名为 download.php 的页面。然后我将 的值更改downinc
为递增 1。但在此之前,我检查了会话是否已设置,否则它应该下载文件:
if (!isset($_SESSION['downinc'])) {
$error = "Invalid download. No Session.";
// some code here
}else{
$_SESSION['downinc'] = $_SESSION['downinc'] + 1;
//some code here to download the file.
}
但有时,我的一些访问者给我发电子邮件说他们无法下载该文件。
我的代码有问题吗?顺便说一句,我使用的是 drupal 7。所以我不需要调用 session_start()。
更新:
只想补充一点,我正在使用 memcached。不知道这是否与memcached有关。