我创建了自己的聊天版本。http://css-tricks.com/jquery-php-chat/。一切正常,人们可以登录,发送消息并查看其他人的消息。甚至还有一个房间里的人。我还有一个需要密码的管理员帐户。
我的问题是,我无法找到一种创建"块函数"或其他方式将用户踢出窗口/聊天室的好方法,以防房间里有一个吵闹的人,作为管理员,我可以阻止他或踢他或沿着这些线路踢出东西。
有人对这样做的简便方法有什么想法吗?
php文件将名称保存到列表。
$function = $_POST['function'];
$name = $_POST['name'];
$filename = "chatList.txt";
switch($function) {
case('writeName'):
$fo = fopen($filename,'a');
fwrite($fo, $name."rn");
fclose($fo);
break;
case('deleteName'):
$file = file_get_contents($filename);
$fo = fopen($filename,'w');
$str = str_replace($name."rn","",$file,$count);
fwrite($fo, $str, strlen($str));
fclose($fo);
for($i = 0; $i < $count-1; $i++)
{
$fo = fopen($filename,'a');
fwrite($fo, $name."rn");
fclose($fo);
}
break;
case('updateList'):
$fo = fopen($filename,'r');
if($fo)
{
$array = explode('rn', fread($fo, filesize($filename)));
}
echo json_encode($array);
break;
}
1)找出用户的IP是什么:
function getIP() {
$ip;
if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
elseif(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
elseif(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
else $ip = "UNKNOWN";
return $ip;
}
2)修改您的删除,更新和写入功能,以便它们还编写IP地址3)用用户的IP调用删除函数并完成!
我能够从列表中删除该人,然后添加了一个if语句以阻止他们发送消息...
if(!$('#online div#usernames:contains('+name+')').length > 0){
alert('You have been blocked!');
return;
}