PHP sohbet sisteminde sayfa yenilenmezse mesajlar görünmüyor

Yusufc44

Decapat
Katılım
2 Ekim 2021
Mesajlar
130
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
PHP ile sohbet sistemi yaptım ama sayfayı manuel yenilemezsem attığım mesaj gözükmüyor. Bunu basit bir yöntem ile çözemez miyiz?
 
Son düzenleyen: Moderatör:
Chat kısmını ayrı bir PHP'ye yazın. Ardından jquery ile o kısmı sürekli olarak innerhtml = ajax getchat gibi ayarların mesela.
 
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<div class="icerik">
</div>
</body>
</html>
<script>
$(function(){
setInterval(function(){$("div.icerik").load("deneme.php");},1000);
})
</script>


deneme.php yazdığım yer veritabanını listelediğin sayfa olacak.
1000 yazılan yer 1000 milisaniyede(1 saniyede) bir sayfanın tekrarlanmasını sağlar.
 
<!Doctype html>
<Html>
<Head>
<Title></title>
<Script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</Head>
<Body>
<Div class="icerik">
</Div>
</Body>
</Html>
<Script>
$(function(){
setInterval(function(){$("div.icerik").load("deneme.php");},1000);
})
</Script>

deneme.php yazdığım yer veritabanını listelediğin sayfa olacak.
1000 yazılan yer 1000 milisaniyede(1 saniyede) bir sayfanın tekrarlanmasını sağlar.

Bunu yaptımda sayfa her 1 saniyede bir tekrar çekildi işe yaramadı.
 
PHP dinamik bir dil değil hocam. JavaScript'le dinamik yapı kazandırılıyor. En azından benim bildiğim böyle.

Evet amacım o zaten sohbet kendi kendisine güncellenemiyor bunu yapmak istiyorum.
Arkadaşlar şöyle bir kod buldum çalıştıramadım bir yerde bir hatam'mı var acaba:

Function veriCek()
{
$.Ajax({
url:"globalchat.php",
Type:"post",
Success: Function(result)
{
$("results").show();
$("results").html(result),
}
});
}
Setınterval(vericek, 1000)
 
Son düzenleme:
Basit bir kodlama yaptım. Umarım işinize yarar. Veri tabanı görseldeki gibidir.
 

Dosya Ekleri

  • veritabani.jpg
    veritabani.jpg
    129,1 KB · Görüntüleme: 57
Bunun için çift taraflı haberleşebiliceğin bir yönteme geçiş yapman gerekiyor.

Yani:
Server bir şey olduğunda Client'ı dürtebilmeli, Client bir şey olduğunda server'ı dürtebilmeli.

Yukardaki arkadaşların dediği gibi sen mesaj atarsan ekranı yenilersin fakat eğer karşısı mesaj atarsa hiç bir türlü haber alamazsın.
(Arkadaşların yaptığı yöntem baya kötü bir pratik. Gereksiz bir şekilde sürekli server'ı rahatsız eden bir ton client olucak.)

Genelde bunun için WebSocket kullanılır.


PHP WebSocket integrasyonu var ise çok kolay bir şekilde geçiş yapabilirsin.
Socket.io kullanmanı öneririm
 
Son düzenleme:

Geri
Yukarı