PHP ve Ajax ile Live Chat yaparken sayfa yenilenince mesajlar tekrardan veri tabanına gidiyor

filozofunpiri

Decapat
Katılım
13 Temmuz 2022
Mesajlar
117
PHP ve Ajax kullanıyorum.
chat.php sayfasındaki Ajax kodu:

PHP:
function sendMessages() {
            $.ajax({
                type: 'POST',
                url: 'sent_messages.php',
                data: {
                    user_id: user_id,
                    session_name: session_name,
                    session_id: session_id,
                    text: text,
                },
                success: function(response) {
                    if ($('#chat2').html() !== response) {
                        $('#chat2').html(response);
                        keepScrollBarDown();
                    }
                }
            });
        }
    sendMessages();
   


sentMessages.php sayfasından kodlar
<?php
include 'db.php';
$sender_message=$_POST['text'];
$sender_id=$_POST['session_id'];
$receiver_id=$_POST['user_id'];


if($sender_message!=null)
{
    $query = "INSERT INTO messages (sender_id, receiver_id, sender_message) VALUES ('$sender_id', '$receiver_id', '$sender_message')";
    $query2 = mysqli_query($db, $query);
}
 

?>
 
Son düzenleyen: Moderatör:
Silmek yerine işe yarayacak hale getirseniz sorunu çözersiniz. Mesajların ID'si veritabanında saklanacak, ki zaten üzerinde işlem yapacaksanız her halükarda bir ID'si olmalı. Bu ID'de mesaj ile birlikte hem önde hem arkada aynı saklanacak.

ID ile mesaj mevcutsa, hata alırsınız.

Ki zaten gönderilen mesajda ID olmaz, ID'yi veritabanı oluşturacak. Bu şekilde düşünerek ID'li mesajları veritabanına yollamasanız da sorun çözülür.
 

Technopat Haberler

Geri
Yukarı