php中如何实现同一IP24小时内只能注册一次?我代码是这么写的!
代码是这么写的
但是在单文件测试没有问题只要从数据库读取数据注册时间的时候就不能用啦
文件代码:(
//获得注册时间
$rendate=$this->db->getOne("SELECT dateline FROM phphand_member WHERE register_ip='$ip' ORDER BY dateline DESC LIMIT 1");
$jg=$dateline - $rendate;//计算注册时间结果,现在时间减注册时间
$xz=24*3600;//获取限制时间
if($jg < $xz){
$this->message('24小时内同一IP只能注册一次');//真
}
)
单个文件测试 提示“Resource id #3”
文件代码:
(<?
include_once '../config.php';
$conn=mysql_connect($config['db_host'],$config['db_username'],$config['db_password']);
mysql_select_db($config['db_name']);
//php获取ip的算法
$ip=$_SERVER["REMOTE_ADDR"];
echo "<br />当前IP:";
echo $ip;
echo "<br />";
$query=mysql_query("SELECT dateline FROM phphand_member WHERE register_ip='$ip' ORDER BY dateline DESC LIMIT 1");
//$r=mysql_fetch_array($query);
echo $query;
echo "<br />";
echo $r;
?> )
答案:我做过24小时登陆只加一次积分的。一个意思哈。Q1500962439
其他:给你修改了一下,应该没问题了:
(<?
include_once '../config.php';
$conn=mysql_connect($config['db_host'],$config['db_username'],$config['db_password']);
mysql_select_db($config['db_name']);
//php获取ip的算法
$ip=$_SERVER["REMOTE_ADDR"];
echo "<br />当前IP:";
echo $ip;
echo "<br />";
$query=mysql_query("SELECT dateline FROM phphand_member WHERE register_ip='$ip' ORDER BY dateline DESC LIMIT 1");
if(isset($query)&&!empty($quety)){
$row=mysql_fetch_array($query);
while($row=mysql_fetch_array($query)){
echo $row['dateline'];
}
}
echo "<br />";
?> ) 第一段代码就可以啊。或者是当前时间减24小时,判断这段时间内是否有相同IP注册也可以,比你那应该少一步判断
上一个:zend studio 7中如何让php页面调试结果是在浏览器中的
下一个:有玩php的没有吗?求师傅