Revision: 27555
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 15, 2010 22:13 by jretamal
Initial Code
<?php
/**
* PHP+MySQL
* Restricts the vote to one vote per ip per day
* @name IP Poll Restriction
* @author Julio César Retamal Rojas - http://jretamal.cl
* @version 0.1
* @date June 15, 2010
* @copyright (c) 2010 Julio César Retamal (jretamal.cl)
* @usage
*
* //Your code
* if(checkVote())
* {
* //Vote successful
* }
* //Your code
*
* @installation
*
* CREATE TABLE IF NOT EXISTS `ip_poll` (
* `ip` varchar(15) NOT NULL,
* `date` datetime NOT NULL
* ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
*
*/
function getIP() {
$ip="";
if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
else $ip = "";
return $ip;
}
function checkVote()
{
$ip= getIP();
$sql= "select count(*) from ip_poll where ip = '".$ip."' and SUBSTR(date,1,10) = '".date("Y-m-d")."'";
if($res= mysql_query($sql))
{
$row= mysql_num_rows($res);
if($row == 0)
{
$sqlIns= "insert into ip_poll values ('".$ip."',now());";
if(mysql_query($sqlIns))
return true;
else
return false;
}else{
return false;
}
}else{
return false;
}
}
?>
Initial URL
http://jretamal.cl
Initial Description
Restricts the vote to one vote per ip per day
Initial Title
IP Poll Restriction
Initial Tags
mysql, php, ip
Initial Language
PHP