Jeżeli ktoś chce wypróbować:
twoj-salon.cba.pl
login: konto
pass: testowe
Fragment index.php
Kod
<div id="MENU"><!--[menu po lewej]--
<?php
if ((isset($_SESSION["zalogowany"])) or ($_SESSION["zalogowany"] != 0))
{
echo "<br><div id='chat_area'> <ul>";
date_default_timezone_set('Europe/Warsaw');
$wyswietlane = 10;
$chat_items_num = mysql_query("SELECT COUNT(*) FROM wiadomosci");
$chat_items_num = mysql_fetch_row($chat_items_num);
$start = $chat_items_num[0] - 10;
if ($start < 0)
{
$start = 0;
}
$chat_items = mysql_query("SELECT * FROM wiadomosci ORDER BY id LIMIT $start, $wyswietlane");
while($wiadomosc = mysql_fetch_assoc($chat_items))
{
echo '<li>';
echo date("H:i",strtotime($wiadomosc['czas']));
echo ' <strong><font color="red">'.htmlspecialchars($wiadomosc['autor']).'</font></strong> napisał:<br>';
echo htmlspecialchars($wiadomosc['tresc']);
echo '</li>';
}
echo "</ul>";
$login_chat = $_SESSION['imie']." ".$_SESSION['nazwisko'];
echo "</div>
<form action='#' method='post' class='formularz'>
<div><input type='hidden' name='imie_chat' value='".$login_chat."' size='20'/></div>
<p><textarea cols='39' rows='3' placeholder='".$_SESSION['imie'].", napisz coś!' name='tresc'></textarea></p>
<input type='submit' value='Wyślij' />
<input type='hidden' name='chat' value='1' />
<a href='index.php?site=chat'>Archiwum wpisów</a>
</form>";
}
?>
</div>
<?php
if ((isset($_SESSION["zalogowany"])) or ($_SESSION["zalogowany"] != 0))
{
echo "<br><div id='chat_area'> <ul>";
date_default_timezone_set('Europe/Warsaw');
$wyswietlane = 10;
$chat_items_num = mysql_query("SELECT COUNT(*) FROM wiadomosci");
$chat_items_num = mysql_fetch_row($chat_items_num);
$start = $chat_items_num[0] - 10;
if ($start < 0)
{
$start = 0;
}
$chat_items = mysql_query("SELECT * FROM wiadomosci ORDER BY id LIMIT $start, $wyswietlane");
while($wiadomosc = mysql_fetch_assoc($chat_items))
{
echo '<li>';
echo date("H:i",strtotime($wiadomosc['czas']));
echo ' <strong><font color="red">'.htmlspecialchars($wiadomosc['autor']).'</font></strong> napisał:<br>';
echo htmlspecialchars($wiadomosc['tresc']);
echo '</li>';
}
echo "</ul>";
$login_chat = $_SESSION['imie']." ".$_SESSION['nazwisko'];
echo "</div>
<form action='#' method='post' class='formularz'>
<div><input type='hidden' name='imie_chat' value='".$login_chat."' size='20'/></div>
<p><textarea cols='39' rows='3' placeholder='".$_SESSION['imie'].", napisz coś!' name='tresc'></textarea></p>
<input type='submit' value='Wyślij' />
<input type='hidden' name='chat' value='1' />
<a href='index.php?site=chat'>Archiwum wpisów</a>
</form>";
}
?>
</div>
Fragment process_ajax.php
Kod
<?php
header("Cache-Control: no-cache");
date_default_timezone_set('Europe/Warsaw');
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname = "chat_db";
$wyswietlane = 10;
$dbconn = @mysql_connect($dbhost,$dbuser,$dbpass);
if($dbconn)
{
mysql_select_db($dbname,$dbconn);
mysql_query("SET NAMES utf8");
if(isset($_POST['chat']) && $_POST['chat']==1)
{
$nick = mysql_real_escape_string($_POST['imie']);
$tresc = mysql_real_escape_string($_POST['tresc']);
mysql_query("INSERT INTO wiadomosci (autor,tresc,czas)
VALUES ('$nick','$tresc',NOW())",$dbconn);
$last_id = mysql_insert_id();
$last_item = mysql_query("SELECT * FROM wiadomosci WHERE id = '$last_id'");
$wiadomosc = mysql_fetch_assoc($last_item);
echo '<li>';
echo date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
echo '</li>';
}
else
{
$data_ostatniej_wiadomosci = mysql_query("SELECT MAX(czas) FROM wiadomosci");
$data_ostatniej_wiadomosci = mysql_fetch_row($data_ostatniej_wiadomosci);
$data_ostatniej_wiadomosci = strtotime($data_ostatniej_wiadomosci[0]);
$html = '';
$data_od_usera = intval($_POST['data_ostatniej_wiadomosci']);
if($data_ostatniej_wiadomosci > $data_od_usera)
{
$items = mysql_query("SELECT * FROM wiadomosci ORDER BY czas DESC LIMIT 10");
$wyniki = array();
while($wiadomosc = mysql_fetch_assoc($items))
{
$wyniki[] = $wiadomosc;
}
$wyniki = array_reverse($wyniki);
foreach($wyniki as $wiadomosc)
{
$html .= '<li>';
$html .= date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
$html .= '</li>';
}
}
else
{
$html .= '';
}
header('Content-Type: application/json');
echo json_encode(array('html'=>$html,'czas'=>$data_ostatniej_wiadomosci));
}
}
?>
header("Cache-Control: no-cache");
date_default_timezone_set('Europe/Warsaw');
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname = "chat_db";
$wyswietlane = 10;
$dbconn = @mysql_connect($dbhost,$dbuser,$dbpass);
if($dbconn)
{
mysql_select_db($dbname,$dbconn);
mysql_query("SET NAMES utf8");
if(isset($_POST['chat']) && $_POST['chat']==1)
{
$nick = mysql_real_escape_string($_POST['imie']);
$tresc = mysql_real_escape_string($_POST['tresc']);
mysql_query("INSERT INTO wiadomosci (autor,tresc,czas)
VALUES ('$nick','$tresc',NOW())",$dbconn);
$last_id = mysql_insert_id();
$last_item = mysql_query("SELECT * FROM wiadomosci WHERE id = '$last_id'");
$wiadomosc = mysql_fetch_assoc($last_item);
echo '<li>';
echo date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
echo '</li>';
}
else
{
$data_ostatniej_wiadomosci = mysql_query("SELECT MAX(czas) FROM wiadomosci");
$data_ostatniej_wiadomosci = mysql_fetch_row($data_ostatniej_wiadomosci);
$data_ostatniej_wiadomosci = strtotime($data_ostatniej_wiadomosci[0]);
$html = '';
$data_od_usera = intval($_POST['data_ostatniej_wiadomosci']);
if($data_ostatniej_wiadomosci > $data_od_usera)
{
$items = mysql_query("SELECT * FROM wiadomosci ORDER BY czas DESC LIMIT 10");
$wyniki = array();
while($wiadomosc = mysql_fetch_assoc($items))
{
$wyniki[] = $wiadomosc;
}
$wyniki = array_reverse($wyniki);
foreach($wyniki as $wiadomosc)
{
$html .= '<li>';
$html .= date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
$html .= '</li>';
}
}
else
{
$html .= '';
}
header('Content-Type: application/json');
echo json_encode(array('html'=>$html,'czas'=>$data_ostatniej_wiadomosci));
}
}
?>