上下文
我是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;
}
}
?>**
任何建议都会带着感激之情接受。
谢谢你
提前花时间读这篇文章。