关于投票的限制设置 不指定

Else , 2008/06/11 11:24 , 代码片段,演示也有 , Comments(2) , Reads(1882) , Via Original
这个是目前用cookie做的,之前听说php4对cookie的支持不好之类的话,没有试过,但是现在认为,没有必要为php4而限制代码
现在这个是用一个cookie来保存这些投票
[codes=php]if (!isset($_COOKIE['time_report']))
    {
      $_COOKIE['time_report']=array();
    }
    
    foreach ($_COOKIE["time_report"] as $upid)
    {
      if ($upid==$_POST['up'])
      {
        die("你已投过票了");
      }
      
    }
    setcookie("time_report[".$_POST['up']."]",$_POST['up'],time()+3600);
    
    $db->query(sprintf("UPDATE ck_comment set zc=zc+1 where id=%d",$_POST['up']));
    $sql=sprintf("select zc from ck_comment where id=%d",$_POST['up']);
    $rs=$db->rows($sql);
    echo $rs['zc'];[/codes]

如果不是二维数组,可以这样写

[codes=php]if (!isset($_COOKIE['time_report']))
    {
      $_COOKIE['time_report']=array();
    }
    
    if(array_search($_POST['up'],$_COOKIE["time_report"]))
    {
      die("你已投过票了");
    }
    setcookie("time_report[".$_POST['up']."]",$_POST['up'],time()+3600);
    
    $db->query(sprintf("UPDATE ck_comment set zc=zc+1 where id=%d",$_POST['up']));
    $sql=sprintf("select zc from ck_comment where id=%d",$_POST['up']);
    $rs=$db->rows($sql);
    echo $rs['zc'];[/codes]

这个是session做的
[codes=php]

if (!isset($_SESSION['iscom']))
    {
      $_SESSION['iscom']=array();
    }
    
    foreach ($_SESSION['iscom'] as $upid)
    {
      if ($upid==$_POST['up'])
      {
        die("你已投过票了");
      }
      
    }
    
    $db->query(sprintf("UPDATE ck_comment set zc=zc+1 where id=%d",$_POST['up']));
    $sql=sprintf("select zc from ck_comment where id=%d",$_POST['up']);
    $rs=$db->rows($sql);
    echo $rs['fd'];
    array_push($_SESSION['iscom'],$_POST['up']);[/codes]

Else Email Homepage
2008/06/11 15:17
这个是学cnbeta的一个方法!
Else Email Homepage
2008/06/11 11:42
推荐用第二个,原来的是我一个二维session数组改来的
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]