Php 单击聊天按钮时移动用户以使用AJAX聊天页面|重要

Php 单击聊天按钮时移动用户以使用AJAX聊天页面|重要,php,ajax,Php,Ajax,在我的网站上,每个用户配置文件中都有“消息”按钮 ,因此,当任何用户单击“消息”按钮时,都应该使用ajax将其移动到“消息”页面 1-我不知道如何使用ajax将用户id表单配置文件页面移动到消息页面 如果这不是该用户第一次使用,则应使用台钳打开 页码 形象 PROIFLE用户中的BUTON信息 聊天页面 配置文件页面中的代码消息按钮 $(“#开始消息”)。单击(函数() { var user_id=$(“#user_id”).val(); 警报(用户标识); $.ajax ({ 类型:“POS

在我的网站上,每个用户配置文件中都有“消息”按钮 ,因此,当任何用户单击“消息”按钮时,都应该使用ajax将其移动到“消息”页面

1-我不知道如何使用ajax将用户id表单配置文件页面移动到消息页面

  • 如果这不是该用户第一次使用,则应使用台钳打开 页码
  • 形象 PROIFLE用户中的BUTON信息

    聊天页面

    配置文件页面中的代码消息按钮

    $(“#开始消息”)。单击(函数()
    {
    var user_id=$(“#user_id”).val();
    警报(用户标识);
    $.ajax
    ({
    类型:“POST”,
    url:“”,
    数据:{'user\u id':user\u id},
    数据类型:'html',
    成功:功能(数据)
    {
    window.location.href=“”;
    $(“#加载消息”).html(数据);
    }
    });
    });
    
    代码这是完整的消息控制器页面,当输入代码时 以用户ID为例

    public function index()//已使用
    {
    $user\u id=$this->session->userdata('doctor')[0]->user\u id;//我的id通过我的id获取我的用户列表
    $data[“lists”]=$this->Message\u model->getMyUserList($user\u id);
    $this->load->view('front/Message_view',$data);
    }
    /*
    显示或获取消息列表
    */
    公共函数getMessage()//已使用
    {
    $touser=$this->input->post('touser');//通过touser Id获取我的用户列表
    $data['messages']=$this->Message\u model->getMessage($touser);
    foreach($data['messages']作为$message)
    {
    如果($message->tuser==$tuser)
    {
    回声'
    “.$message->message”
    “.$message->date\u msg”
    ';
    }
    否则{
    回声'
    “.$message->message”
    “.$message->date\u msg”
    ';
    }
    }
    }
    /*
    发送新消息
    */  
    函数sendMessage()//已使用
    {
    $message=$this->input->post('msg');//此数据来自Ajax
    $touser=$this->input->post('touser');
    //回声$message,$tuser;死亡;
    //$reservation\u id=$this->input->post('reservation\u id');
    $data=数组
    (
    'message'=>$message,
    “日期”=>日期(“Y-m-d H:i:s”),
    “touser”=>$touser,
    //“预订\u id”=>$reservation\u id,
    “状态”=>“非”,
    “聊天室交易”=>“非”,
    “fromuser'=>this->session->userdata('doctor')[0]->user\u id
    );
    $insert=$this->Message\u model->sendMessage($data);
    如果($插入){
    回声1;
    }否则{
    回声0;
    }
    }
    
    通过Ajax查看页面的代码消息

    
    
    您可以向controller提交用户详细信息,而不是创建AJAX请求。正在加载视图的位置

    $("#startMessage").click(function(){
        var user_id = $("#user_id").val();
        /*
         * AJAX request won't work here, because you had sent user_id data to controller "Message/index" using AJAX, 
         * then in it's success method you are again redirecting to page controller "Message/index", here user_id details are not present
         * Instead will just create a form and submit that form to controller "Message/index", so that variable user_id will available in "Message/index"
         * Once form submitted to controller Message/index, view "front/Message_View" was already getting loaded their as per existing code
        */
        var formHTML = '<form name="frmUserData" action="<?php echo base_url('Message/index')?>" method="post">'+
                            '<input type="hidden" name="user_id" value="'+ user_id +'">'+
                       '</form>';
        var formObj = $('.main-footer').append(formHTML).find("[name='frmUserData']");
        $(formObj).submit();
    });
    
    $(“#开始消息”)。单击(函数(){
    var user_id=$(“#user_id”).val();
    /*
    *AJAX请求在这里不起作用,因为您已经使用AJAX向控制器“消息/索引”发送了用户id数据,
    *然后在它的成功方法中,您再次重定向到页面控制器“Message/index”,这里不存在用户id详细信息
    *而是创建一个表单并将该表单提交给控制器“Message/index”,这样变量user\u id将在“Message/index”中可用
    *一旦表单提交到控制器消息/索引,视图“front/Message_view”已经按照现有代码加载
    */
    
    var formHTML=''但它不起作用,我无法使用ajax将用户id从配置文件页面移动到消息页面。'-没有真正的帮助。您咨询过控制台吗?它显示了任何错误吗?ajax响应有效吗?有人能帮我吗?元素$(“#用户id”)中的值是多少或者它的值是如何在页面中更新的。如果可能的话,你能提供一个链接来检查是否正常工作,或者为相同的内容创建一个提琴吗?我编辑我的Q,我放置图像是为了让你更好地理解而不是工作,你看到我的完整代码了吗???从你得到主页脚的地方,我没有这个oops,用$('body'替换$('main footer'))没有别的,因为我在我的网页上尝试了该代码,其中有“.main footer”。不便之处表示遗憾。当我打开用户X配置文件并单击“消息”时按钮,按钮指向消息页面,但不打开此X用户消息页面您是否有任何演示链接,以查看其工作原理?以便我能正确地提供帮助。我正在尝试进行搜索,以了解代码是否获得用户id,处于警报状态,但似乎没有“未定义”
      public function index()  //used
    {
        $user_id =$this->session->userdata('doctor')[0]->user_id;// My Id To Get My User List  By My Id
        $data["lists"] = $this->Message_model->getMyUserList($user_id);
        $this->load->view('front/Message_View',$data);
    }
    
    
    /*
     Show Or Get Messge List 
    */
    public function getMessage()   //used
        {
    
            $touser = $this->input->post('touser'); // touser Id To Get My User List  By touser Id
             $data['messages'] = $this->Message_model->getMessage($touser);
    
            foreach($data['messages'] as $message)
            {
    
                if ($message->touser ==  $touser)
                {
                echo '
                    <div class="chat-message self">
                        <div class="chat-message-content-w">
                            <div class="chat-message-content">'.$message->message.'</div>
                        </div>
                        <div class="chat-message-date">'.$message->date_msg.'</div>
                        <div class="chat-message-avatar"><img alt="" src="https://www.bodywork.sa.com/mohammed/img/face-7.jpg"></div>
                    </div>
    
                ';
                }
                else {
                     echo '
                    <div class="chat-message">
                        <div class="chat-message-content-w">
                            <div class="chat-message-content">'.$message->message.'</div>
                        </div>
                        <div class="chat-message-avatar"><img alt="" src="https://www.bodywork.sa.com/mohammed/img/face-7.jpg"></div>
                        <div class="chat-message-date">'.$message->date_msg.'</div>
                    </div>
                    ';
                     }
            }
    
    
        }
    
    
    
     /*
    Send New Messeg
    */  
    function sendMessage()   //used
    {
        $message = $this->input->post('msg'); // This Data Take From Ajax
        $touser = $this->input->post('touser');
      // echo $message ,$touser ; die;
       // $reservation_id = $this->input->post('reservation_id');
        $data= array
        (
            'message'=>$message,
            'date_msg'=>date("Y-m-d H:i:s"),
            'touser'=>$touser,
           // 'reservation_id'=>$reservation_id,
            'status'=>"non",
            'chatdeals'=>"non",
            'fromuser'=>$this->session->userdata('doctor')[0]->user_id
        );
        $insert = $this->Message_model->sendMessage($data);
            if($insert){
                echo 1;
            }else{
                echo 0;
            }
    
    }
    
       <div class="chat-search">
                                            <!-- serach -->
                                            <div class="element-search"><input placeholder="Search users by name..." type="text"></div>
    
    
                                        </div>
                                <!-------------------------  Left  Side  Start  ------------------->
    
                                         <!-----------------------List user
                                        --------------------------------------------------->
                                        <div class="user-list">
                                            <?php foreach($lists as $list ){ ?>
    
            <div data-touserid="<?php echo $list->user_id ?>"  id="<?php echo $list->name ?>"  class="user-w"> 
                                    <!---------------- Evry Thing form This Id IMPORTANT----------------->
    
                                                <div class="avatar with-status status-green">
                                                    <img alt="" src="https://www.bodywork.sa.com/mohammed/img/face-7.jpg"></div>
                                                <div class="user-info">
                                                    <div class="user-date">2 days</div>
                                                    <div class="user-name"><?php echo $list->name ?></div>
                                                    <div class="last-message">They have submitted users...</div>
                                                </div>
                                            </div>
                                            <?php } ?>
    
                                        </div>
                                    </div>
                                    <!-------------------------   Left  Side  End  ------------------->
    
                                    <div class="full-chat-middle"> <!--  beside the to ueser name put the touer id -->
                                        <div class="chat-head">   
    
    
                                        </div>
                                        <div class="chat-content-w ps ps--theme_default" data-ps-id="e9e4b066-577f-fc03-9e0c-3979505e77eb">
                                            <div id="loadMessages" class="chat-content">
                                                <!------------------------------- 
                                                the design in the controller 
                                                /--------------------------------->
                                              </div>
                                            <div class="ps__scrollbar-x-rail" style="left: 0px; bottom: 0px;">
                                                <div class="ps__scrollbar-x" tabindex="0" style="left: 0px; width: 0px;"></div>
                                            </div>
                                            <div class="ps__scrollbar-y-rail" style="top: 0px; right: 0px;">
                                                <div class="ps__scrollbar-y" tabindex="0" style="top: 0px; height: 0px;"></div>
                                            </div>
                                        </div>
                                        <div class="chat-controls">
                                            <div class="chat-input">
                                                  <!------------------------------- 
                                               messge content value
                                                /--------------------------------->
    
                    <input id="message_text" name="message_text" placeholder="Type your message here..." type="text"></div>
                                          <!------------------------------- 
                                              add messge script
                                                /--------------------------------->
                                                <div class="chat-btn">
    
                                                  <!-- <a id="sendMessage"   class="btn btn-primary btn-sm btn-fill" >Send2</a> -->
                                            </div>
                                        </div>
                                    </div>
    
               <script>
    
    
                 /*
              * Make First Message in page is the first
                 *
      */
        $(document).ready(function(){
            $(".user-w:first").trigger("click"); 
        });
    
    
      /*
      * Show User List
      *
      */
       $(".user-w").click(function()
       {
           var touser =$(this).data('touserid');
           //$(this).attr("touserid"); // touser Id To Get My User List  By touser Id
           var touserName = $(this).attr("id"); // touser Id To Get My User List  By touser Id
    
           alert(touser);
           alert(touserName);
            $.ajax
            ({
                type:"POST",
                url:"<?php echo base_url('Message/getMessage/')?>",
                data:{'touser' : touser},
                datatype:'html',
                success:function(data) 
                {
                   $("#loadMessages").html(data); // refrech the chat to get the news by ajax real time
                   //alert ("yub");
    
                 var button = '<button type="button" onclick="sendMessage('+touser+')"  class="btn btn-info send_chat">Send</button>';
                $(".chat-btn").html(button);  // button to send messge touser by ajax with the touser id 
    
                var Head = ' <div id="user-info" class="user-info" "><span>To:</span><a href="<?php echo base_url('Profile/getUserById/')?>'+touser+'">'+touserName+'</a></div>';
                $(".chat-head").html(Head);
    
    
    
                }
    
            });
       });
    
    
    
    
    
    
             /*
                             * Send New Messeg
                              *
                             */
                             function sendMessage(touser)
                            {
               //alert("test");
               //alert(user_id);
                 var msg = $("#message_text").val();
                 var touser = touser;
                  // alert(touser);
                   //alert(msg);
                 //var reservation_id = $("#reservation_id").val();
                if(!msg || msg.length == 0)
                {
                    alert("enter a message");
                }
                else
                {
                    $.ajax
                    ({
                    type:"POST",
                    url:"<?php echo base_url('Message/sendMessage')?>",
                //  data:{'msg' : msg, 'touser' : touser, 'reservation_id' : 
                 reservation_id},
                    data:{'msg' : msg, 'touser' : touser},
                    datatype:'text',
                //  Page.Server.ScriptTimeout = 300;
                        success:function(data) 
                        {
                            if(data == 1)
                            {
                             //$("#loadMessages").load();
                              $("#message_text").val("");
                                  $(".user-w[id='"+ touser +"']").trigger("click");
    
                            }
                            else
                            {
                                alert("noo eroor chat message") ;                           
                            }
    
                        }, 
                    });
                    //return false;
    
                    }
    
        }    // End Send Message Function 
    
    
    
    
    
    
        </script>
    
    $("#startMessage").click(function(){
        var user_id = $("#user_id").val();
        /*
         * AJAX request won't work here, because you had sent user_id data to controller "Message/index" using AJAX, 
         * then in it's success method you are again redirecting to page controller "Message/index", here user_id details are not present
         * Instead will just create a form and submit that form to controller "Message/index", so that variable user_id will available in "Message/index"
         * Once form submitted to controller Message/index, view "front/Message_View" was already getting loaded their as per existing code
        */
        var formHTML = '<form name="frmUserData" action="<?php echo base_url('Message/index')?>" method="post">'+
                            '<input type="hidden" name="user_id" value="'+ user_id +'">'+
                       '</form>';
        var formObj = $('.main-footer').append(formHTML).find("[name='frmUserData']");
        $(formObj).submit();
    });