2015-10-07 27 views
-1

我有網站,所有用戶可以下載任何文件下載頁面。只有在我的網站上擁有帳戶的用戶才能下載;訪問者在登錄或註冊我的網站之前無法看到下載頁面。 我現在想要做一些改變;我只想從下載頁面下載任何有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

分享用戶目標代碼,你怎麼知道用戶是否有10個主題? – taxicala

+0

**請不要誇大問題中的大部分文字,因爲它看起來像是在喊**。如果你用大寫字母寫就同樣適用。謝謝。 –

+0

你想要的東西像「特權」...你應該存儲或統計有多少主題或下載或在HTML鏈接檢查他/她有多少。 –

回答

0

這是一個廣泛的問題,沒有關於您使用的框架或db的信息。 我假設你正在使用MySQL。 我還假設你有一張名爲users的表,其中id爲|名稱|電子郵件|等 我還假設你有另一個表稱爲主題: ID |用戶ID |標題| 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."; 
} 

您可以更改消息給任何你想要讓用戶知道爲什麼他們無法訪問下載。

好運

+0

嗨謝謝你試圖幫助我。 – user2648424

+0

我希望它對你有所幫助。 – Raakesh