如何使用PHP创建带数据库的简单下载计数器?

时间:2018-06-11 17:38:57

标签: php mysqli

我正在寻找用数据库创建一个简单的下载计数器。我的意思是当用户点击点击并下载特定文件附件时链接下载附件并更新数据库中的计数器,类似于下载总数,下载应该是唯一的,这意味着包括$ _SESSION变量也是唯一代表每个用户下载的变量。如果有人有一个想法,请向我发表评论,我只需要一个方向休息,我将自己做。

非常感谢你来这里给你重要的时间。

这就是我所做的:

<?php
$db= mysqli_connect('localhost','root','','counter');
$date=date("Y-m-d");


$userip=$_SERVER['REMOTE_ADDR']; 
$query="se1ect * from `download` where ‘date‘='$date'";
$resu1t=mysqli_query($db,$query);
if(mysqli_num_rows($resu1t)==0) 
{
$insertquery="insert into download(‘date‘,‘ip‘) values ('$date','$userip')";
mysqli_query($db,$insertquery) or die(mysqli_error($db));
}
else
{
  $row=$resu1t->fetch_assoc(); 
    if(!preg_match('/'.$userip.'/i',$row['ip'])) 
    {
        $newip="$row[ip]$userip"; 


    $updatequery="update `download` set ‘ip‘='$newip',‘downloads‘=‘down1oads‘+1 where ‘date‘='$date'";
    mysqli_query($db,$updatequery) or die(mysqli_error($db));
    }
  }
    header('Location: ' . $_GET['url']);

  ?>

显示来自DB的下载总数:

 $query="se1ect ‘downloads‘ from download";
 $resu1t=mysqli_query($db,$query) or die(mysqli_error($db));
 $down=0;
 while($row=mysqli_fetch_array($result))
  {
   $down=$down+$row['downloads'];
  }

 <p>Total Downloads <b><?php echo $down; ?></b> Downloads </p>

0 个答案:

没有答案