すぐに呼び出される関数パターンを使用していますが、これは ID を渡していません
1.ユーザーが $user をクリックすると、id が渡され、チャット ウィンドウが表示されます。
echo "<div class='boxbottom'><a href='#' onclick=chat_com_one($id);> >$user</a><br></div>";
2.関数chatcom_load_oneは、chatcom_load_one関数に渡されたIDからのメッセージがあるかどうかをチェックし続けます。
しかし問題は、onclick 関数が ID を渡すが、すぐに呼び出された関数が後処理に ID を渡さなかったことです。
メッセージの送信も遅いですか?
エラーはchat_load_oneパターンにあると思います。
function chat_com_one(id) {
$('#chatcom').show('fast');
(function chatcom_load_one(id) {
$.post('sendchat2.php', {
option: 'chatcom_load_one',
tocom: id
}, function (data) {
$('#chatcom #commid #commidwin').html(data);
setTimeout(chatcom_load_one(id), 1000);
});
}());
$('#chatcom_send').click(function () {
var text = document.getElementById('chatcom_text').value;
$.post('sendchat2.php', {
option: 'chat_com_send_one',
text: text,
tocom: id
}, f
function (data) {
document.getElementById('chatcom_text').value = '';
});
});
}
私のサーバーの送信機能
if($_REQUEST['option']=='chat_com_send_one'){
$session=new $session;
$text=mysqli_real_escape_string($db3->connection,$_POST['text']);
$tocom=mysqli_real_escape_string($db3->connection,$_POST['tocom']);
$sql=mysqli_query($db3->connection,"INSERT INTO chat_com(fro,tocom,mesg,time) VALUES ('$session->userid','$tocom','$text',CURRENT_TIMESTAMP)");
}