Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个;“块函数”;用于jQuery/PHP聊天_Php_Jquery_Chat - Fatal编程技术网

创建一个;“块函数”;用于jQuery/PHP聊天

创建一个;“块函数”;用于jQuery/PHP聊天,php,jquery,chat,Php,Jquery,Chat,我创建了我自己的聊天版本。一切正常,人们可以登录、发送消息和查看其他人的消息。房间里甚至有一张名单。我还有一个需要密码的管理员帐户 我的问题是,我无法找到一个创建“阻止功能”的好方法,也无法找到将用户踢出窗口/聊天室的其他方法,以便在房间里有一个吵闹的人的情况下,作为管理员,我可以阻止他或将他踢出或类似的事情 有没有人对一个简单的方法有什么想法 将名称保存到列表的PHP文件 $function = $_POST['function']; $name = $_POST['name']; $file

我创建了我自己的聊天版本。一切正常,人们可以登录、发送消息和查看其他人的消息。房间里甚至有一张名单。我还有一个需要密码的管理员帐户

我的问题是,我无法找到一个创建“阻止功能”的好方法,也无法找到将用户踢出窗口/聊天室的其他方法,以便在房间里有一个吵闹的人的情况下,作为管理员,我可以阻止他或将他踢出或类似的事情

有没有人对一个简单的方法有什么想法

将名称保存到列表的PHP文件

$function = $_POST['function'];
$name = $_POST['name'];
$filename = "chatList.txt";

 switch($function) {

     case('writeName'):
        $fo = fopen($filename,'a');
        fwrite($fo, $name."\r\n");
        fclose($fo);
        break;

     case('deleteName'):
        $file = file_get_contents($filename);
        $fo = fopen($filename,'w');
        $str =  str_replace($name."\r\n","",$file,$count);
        fwrite($fo, $str, strlen($str));
        fclose($fo);
        for($i = 0; $i < $count-1; $i++)
        {   
            $fo = fopen($filename,'a');
            fwrite($fo, $name."\r\n");
            fclose($fo);  
        }

        break;

    case('updateList'):
         $fo = fopen($filename,'r');
         if($fo)
         {
            $array = explode('\r\n', fread($fo, filesize($filename)));
         }
         echo json_encode($array);

         break;


}
$function=$\u POST['function'];
$name=$_POST['name'];
$filename=“chatList.txt”;
交换机($功能){
大小写('writeName'):
$fo=fopen($filename,'a');
fwrite($fo,$name.\r\n”);
fclose(fo美元);
打破
大小写('deleteName'):
$file=文件获取内容($filename);
$fo=fopen($filename,'w');
$str=str\u replace($name.\r\n“,”,$file,$count);
fwrite($fo,$str,strlen($str));
fclose(fo美元);
对于($i=0;$i<$count-1;$i++)
{   
$fo=fopen($filename,'a');
fwrite($fo,$name.\r\n”);
fclose(fo美元);
}
打破
案例('updateList'):
$fo=fopen($filename,'r');
若有($fo)
{
$array=explode('\r\n',fread($fo,filesize($filename));
}
echo json_编码($array);
打破
}
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调用delete函数并完成

我可以将此人从列表中删除,然后添加一个if语句来阻止他们发送消息

if(!$('#online div#usernames:contains('+name+')').length > 0){
                alert('You have been blocked!');
                return; 
            }

你到底遇到了什么问题?我想不出一个方法来创建一个块供管理员使用。由于它的工作方式是使用php将信息写入txt文件,因此很难获取项目。此实现中没有使用数据库。这就是我面临的问题。你如何记录每个房间的客人名单?在我看来,你可以使用这个数据结构/文件/任何东西来知道谁被禁止进入房间。然后,当人们试图加入/发布他们被阻止的文件室时,您可以拒绝他们。只需添加上面的代码,以显示我如何保留文件室中的人员列表。您应该将此功能请求报告给您从中获得该软件的教程网站。我必须尝试此。。。我会告诉你事情的进展。