通过IP地址检查img投票

时间:2012-02-20 20:21:33

标签: php mysql sql database joomla1.7

所以我有一个Joomla 1.7网站,我使用JoomGallery版本2.0.0 BETA5来显示图像并允许用户对它们进行投票。该组件已经捕获userip,picid和投票(见下图)。所以我需要知道我可以在我的joomGallery模板中放置什么来显示“RATED!”图片显示。

这是phpMyAdmin中表格的样子: table http://ican.stealthstl.com/table.png

我知道它需要像IF current_userip = table_userip和current_picid = table_picid 并且那两个存在于同一个表条目中然后显示“RATED!”实际上我会显示文字和复选标记的图像。

这就是我想要它的样子: table http://ican.stealthstl.com/gallery.png

如果您需要更多信息,请与我们联系。任何帮助,将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

既然我理解了这个问题,你仍然可以使用USERID放入表中,因为使用IP地址很容易绕过,如果用户位于人口稠密的IP地址区域,例如大学校园,只有一个用户将被计算(无论您希望阻止投票的时间间隔)

您通过以下方式确定投票人的IP地址:

$ip = $_SERVER['REMOTE_ADDR'];

现在检查是否已经添加了ip地址(如果没有使用USERID [如果他们没有登录])

$query="SELECT count(*) as total WHERE userid="null" and ip='$ip'"; //count of already added
$executequery = $conn->Execute($query);
$iptotal = $executequery->fields['total']; //total of the count

如果尚未使用该IP,请将其放入数据库

if($iptotal<1) //not yet added? 
{
    INSERT INTO votetable SET ip='$ip', vote='$voterating' WHERE picid=$picid //insert new vote
}