Tak więc zrobiłem według waszego poradnika czat w ajaxie. Na localhoście wszystko pięknie działało ale jak już wrzuciłem pliczki na serwer (posiadam VPSa z Debian 5) to już przestało ;( I nie wiem w czym błąd tkwi. Połączenie z bazą danych jest dobre, bo jak ręcznie dodam wpis do bazy to go wyświetla (ale trzeba samemu odświeżyć bo odświeżanie nie działa też...) Więc podejżewam, ze to wina ajaxa.
A oto moje pliczki:
chat.php
Kod php:
<?php
session_start();
if(isset($_SESSION['login'])){
$login = $_SESSION['login'];
include ("include/gora.php");
include("online.php");
?>
<script type="text/javascript" src="jquery.js">
$(document).ready(function(){
$("#send").submit(function(){
$.ajax({
type: "POST",
url: "send.php",
data:"tekst="+$("#tekst").val(),
success: function(){
$("#chat").load("get.php");
$("#tekst").val('');
}})
return false;
});
window.setInterval(function(){
$("#chat").load("get.php");
},3000);
});
</script>
<form method="post" id="send" action="send.php" >
<input type="text" name="tekst" id="tekst" class="text"/>
<input type="submit" name="send" value="wyślij" class="text"/>
</form>
<div id="chat">
<?php include "get.php"; ?>
</div>
<?php
}
else {
echo 'Niestety, nie masz praw do przeglÄ…dania tej strony!';
}
?>
send.php
Kod php:
<?php
session_start();
include ("include/config.php");
include("player_class.php");
mysql_query("INSERT INTO chat SET `id_sender`= ".$id.", `tekst`='".mysql_escape_string($_POST['tekst'])."'");
if(preg_match_all("#\#([0-9a-zA-Z]*)\#(.*)#si", mysql_escape_string($_POST['tekst']),$wynik)) {
$imie=mysql_fetch_array(mysql_query('SELECT id FROM players WHERE login=\''.$wynik[1][0].'\''));
if($imie[0]!==null){
mysql_query("INSERT INTO chat SET `id_sender`=".$id.", `tekst`='".$wynik[2][0]."', `id_owner`=".$imie[0]);
}
else
{
mysql_query("INSERT INTO chat SET `id_sender`=0, `tekst`='nie ma takiej osoby', `id_owner`=".$id);
}
}else{
mysql_query("INSERT INTO chat SET `id_sender`=".$id.", `tekst`='".mysql_escape_string($_POST['tekst']));
}
header("Location: chat.php");
?>
get.php
Kod php:
<?php
session_start();
include ("include/config.php");
include("player_class.php");
mysql_query("INSERT INTO chat SET `id_sender`= ".$id.", `tekst`='".mysql_escape_string($_POST['tekst'])."'");
if(preg_match_all("#\#([0-9a-zA-Z]*)\#(.*)#si", mysql_escape_string($_POST['tekst']),$wynik)) {
$imie=mysql_fetch_array(mysql_query('SELECT id FROM players WHERE login=\''.$wynik[1][0].'\''));
if($imie[0]!==null){
mysql_query("INSERT INTO chat SET `id_sender`=".$id.", `tekst`='".$wynik[2][0]."', `id_owner`=".$imie[0]);
}
else
{
mysql_query("INSERT INTO chat SET `id_sender`=0, `tekst`='nie ma takiej osoby', `id_owner`=".$id);
}
}else{
mysql_query("INSERT INTO chat SET `id_sender`=".$id.", `tekst`='".mysql_escape_string($_POST['tekst']));
}
header("Location: chat.php");
?>
Ps. Nie wiedziałem, gdzie ten temat zamieścić...
Zakładki