社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

会话成员和其他成员ID不会发送到MySQL查询。专用消息系统

DonalC93 • 5 年前 • 1450 次点击  

上下文 我是jQuery、PHP和MySQL新手。如果这是一个简单的解决方案,请道歉。

我正在为一个公共论坛构建一个简单的基于我的初始代码的私有消息传递系统(这要简单得多)。在短短的时间内,我已经学完了目前为止所学的内容,我几乎已经完成了困难的部分(检索特定的聊天私人数据)。但我得到一个未定义的变量错误,我似乎无法解决。

注意:未定义的变量:sessionmember-in C: \xampp\htdocs\StEndas\handlers\ajax\u privatemessager.php第28行

注意:未定义的变量:othermember C: \xampp\htdocs\StEndas\handlers\ajax\u privatemessager.php第28行

注意:未定义的变量:sessionmember-in C: \xampp\htdocs\StEndas\handlers\ajax\u privatemessager.php第29行

注意:未定义的变量:othermember C: \xampp\htdocs\StEndas\handlers\ajax\u privatemessager.php第29行

你们俩之间还没有护航队。

模型(pagemail.php)

模型的这个特定部分包含在while循环中,该循环打印除当前会话中的用户之外的每个成员的记录。所有打印的对话窗口都隐藏在一个引导柱状图菜单(切换数据)。

    <div id="member_ID_<?php echo $row['member_ID'];?>" class="tab-pane fade">
                          <header class="clearfix">
                            <h4>Your conversation with <b><?php echo $row['member_name'];?></b>.</h4>
                          </header>
                          <div class="chat">
                            <div class="privatemessager-chathistory scrollfeed">

                            </div> <!-- end forum-chathistory -->
                            <form action="#" method="post">

                              <fieldset>
                                <textarea placeholder="Type message.." id="privatemessager-message" name="privatemessager-message" class="message-box" required></textarea>
                                <input type="text" id="privatemessager-sessionmember" name="privatemessager-sessionmember" value="<?php echo $_SESSION['member_ID'];?>"/>
                                <input type="text" id="privatemessager-othermember" name="privatemessager-othermember" value="<?php echo $row['member_ID'];?>"/>
                                <input type="hidden">
                              </fieldset>

                            </form>
                          </div> <!-- end chat -->
     </div>

jQuery代码(目前也在pagemail.php中)

代码的发送消息部分尚未为此新用途进行修改,请忽略该位。

           <script>

                        $(document).ready(function(){
                          loadChat();
                        });

                        $('#privatemessager-message').keyup(function(e){
                           var privatemessage = $(this).val();
                           // alert(e); // Displays the value of the keyboard button.
                          if(e.which == 13){ // 13 is the keyboard value of the 'Enter' key. "IF (USER HITS ENTER)"
                             $.post('handlers/ajax_privatemessager.php?action=sendPrivateMessage&privatemessager-message='+privatemessage, function(response){
                                 loadChat();
                                 $('#privatemessager-message').val('');
                             });
                          }

                        });

              /* THIS IS THE SECTION NEEDING ATTENTION */

                        function loadChat(){
                          $.post('handlers/ajax_privatemessager.php?action=getPrivatemessage', function(response){
                                $('.privatemessager-chathistory').html(response);
                          });
                        }

                        setInterval(function(){
                            loadChat();
                        }, 1000); // Every 1 second the method 'loadchat' is activated.

          </script>

PHP代码(ajax_privatemessager.PHP)

代码的发送消息部分尚未为此新用途进行修改,请忽略该位。

**<?php
    session_start();
    include "db_Connect.php";


    if(isset($_REQUEST['action'])){
      switch($_REQUEST['action']){

        case "sendPrivateMessage":

        $privatemessage = $_GET["privatemessager-message"];
        $sessionmember = $_GET["privatemessager-sessionmember"];
        $othermember = $_GET["privatemessager-othermember"];

        $privatemessage = addslashes($privatemessage);

           $sql = "INSERT INTO tbl_forum (message, member_ID) VALUES ('$privatemessage', '$new_member_ID' )";
           $result = $mysqli->query($sql) or die(mysqli_error($mysqli));

           echo 1;

        break;


      /* THIS IS THE SECTION NEEDING ATTENTION */

        case "getPrivatemessage":

               $sql = "SELECT privatemessage_message, privatemessage_time_created, privatemessage_sent_by, privatemessage_sent_to
                       FROM  tbl_privatemessages
                       WHERE (privatemessage_sent_by = '$sessionmember' AND privatemessage_sent_to = '$othermember')
                       OR (privatemessage_sent_to = '$sessionmember' AND privatemessage_sent_by = '$othermember')
                       ORDER BY privatemessage_time_created ASC";
               $result = $mysqli->query($sql) or die(mysqli_error($mysqli));

               if ($result->num_rows > 0) {
                 // output data of each row
                 while($row = $result->fetch_assoc()) {
                   ?>
                          <div class="chat-message clearfix">

                                    <div class="chat-message-content clearfix">
                                        <span class="chat-time"><?php echo $row['privatemessage_time_created'];?></span>
                                        <h5><?php echo $row['privatemessage_sent_by'];?></h5>
                                        <p class="chat-message"><?php echo $row['privatemessage_message'];?></p>
                                    </div> <!-- end chat-message-content -->

                          </div> <!-- end chat-message -->
                                <hr>

                   <?php
                 }
               } else {
                 echo "</br></br>";
                 echo "No convo between you two yet.";
               }

        break;
      }
    }

    ?>**

任何建议都会带着感激之情接受。 谢谢你 提前花时间读这篇文章。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51700
 
1450 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Nick
Reply   •   1 楼
Nick    6 年前

你的问题是 case "getPrivatemessage" 您试图使用的代码 $sessionmember 等变量,但你没有真正设置它们,因为代码设置它们的值,即。

$privatemessage = $_GET["privatemessager-message"];
$sessionmember = $_GET["privatemessager-sessionmember"];
$othermember = $_GET["privatemessager-othermember"];

只存在于 "sendPrivateMessage" 分支机构 switch 陈述。你要么把代码复制到 "getPrivatemessage" 分支或移动到

if(isset($_REQUEST['action'])){

switch($_REQUEST['action']){