我有网站,所有用户都可以在下载页面下载任何文件。只有在我的网站上有帐户的用户才能下载;访客在登录或在我的网站上注册之前无法看到下载页面。 我现在要做一些改变;我想从下载页面下载任何文件,以便有超过10个主题的活跃用户,任何少于10个主题的用户都无法下载任何文件。 我怎样才能做到这一点?
下载
<?php
if(!$allcategories)
{
echo 'There are no downloads available!';
return;
}
foreach($allcategories as $category)
{
?>
<p><h2><strong><?php echo $category->name?></strong></h2></p>
<ul>
<?php
# This loops through every download available in the category
$alldownloads = DownloadData::GetDownloads($category->id);
if(!$alldownloads)
{
echo 'There are no downloads under this category';
$alldownloads = array();
}
foreach($alldownloads as $download)
{
?>
<li>
<a href="<?php echo url('/downloads/dl/'.$download->id);?>">
<?php echo $download->name?></a><br />
<?php echo $download->description?><br />
<em>Downloaded <?php echo $download->hits?> times</em></li>
<?php
}
?><br />
</ul>
<?php
}
?>
这是我的下载代码。
答案 0 :(得分:0)
这是一个广泛的问题,没有您正在使用的框架或数据库的信息。
我假设你正在使用MySQL。
我还假设你有一个名为users
的表,其中包含id |名字|电子邮件|等等
我还假设您有另一个名为topic的表:
id | userid |标题| desc |等等
好的,我还假设当用户登录到您的站点时,您正在设置一个名为$ _SESSION [“userid”]的会话;
现在在下载页面上,在开头运行查询(确保在以下情况之前连接到db):
$userid = $_SESSION["userid"];
$result = mysql_query("SELECT count(*) from `topics` where `userid` = '$userid') or die(mysql_error());
$topicCount = mysql_result($result,0);
if($topicCount < 10){
echo "You have $topicCount topics so far. You need a minimum of 10 to get access to downloads.";
}
您可以将该消息更改为您想要的任何内容,以便用户知道他们无法访问下载内容的原因。
祝你好运