A-A+
php+mysql留言本锁定功能原理
如果在PHP留言本当中要禁止某个访问者的发言,通常都是将这个访问者进行锁定,当这个访问者再次进行浏览时,显示“抱歉!您已经被管理员锁定,可能因为您发表了不合适言论”等,这样的功能其实就是直接进行锁定访问者的IP地址。
我们知道,每个访问者都有一个自己的IP地址,在PHP中可以通过语句 $ip=$_SERVER['REMOTE_ADDR'];将访问者的IP地址赋值到变量$ip里面,然后在进行留言时 insert 到数据库里。这样数据库里面已经有了访问者的IP地址了。
那么我们再新建一个专门锁定IP地址的数据表,进行如下语句锁定:
$sql="insert into lockip (lockip) values ('$ip')"; mysql_query($sql);
在夏日博客精简的PHP+MYSQL留言本中进行了留言锁定的完善,比如当我们重复进行锁定IP时,会提示“此IP已经被锁定”,否则的话便是锁定成功,下面看源码文件:
<?php require_once('../admincheck.php'); //验证后台登录的文件 require("../mrconn.php"); //数据库连接文件 $ip=$_GET["ip"]; //接受数据库里访客的IP $pageno=$_GET["pageno"]; //接受过来的页码,返回到相应页码 $sql="select * from lockip where lockip='$ip'"; //从 lockip 数据表中查询接受过来的IP $rs=mysql_query($sql); //执行查询 SQL if(mysql_num_rows($rs)==0) { $sql="insert into lockip (lockip) values ('$ip')"; mysql_query($sql); ?> <script language="javascript"> alert("锁定成功"); location.href="admin.php?pageno=<?php echo $pageno?>" </script> <?php } // 判断语句,如果数据库无此IP,便进行锁定 else { ?> <script language="javascript"> alert("此ip已经被锁定") location.href="admin.php?pageno=<?php echo $pageno?>" </script> <?php } //判断语句,否则的话,进行已经锁定的提示 ?>
其实就是判断访客的 IP,而锁定的数据表是一个单独的数据表,如果数据表里有此IP,则进行锁定,否则便会提示。