Αυτό που θα σας δείξω είναι πώς μπορεί κάποιος να φτιάξει ένα πολύ απλό chat script σε PHP.
Ας αρχίσουμε εκτελώντας το ακόλουθο query σε μία MySQL database ώστε να χρησιμοποιήσουμε το table για την αποθήκευση και τύπωση των μηνυμάτων.
Κώδικας: Επιλογή όλων
CREATE TABLE chat (
id int UNSIGNED AUTO_INCREMENT,
username TEXT NOT NULL,
message TEXT NOT NULL,
PRIMARY KEY( id )
);
Κώδικας: Επιλογή όλων
mysql_connect('localhost', 'database_username', 'database_password') or die(mysql_error());
mysql_select_db('database_name') or die(mysql_error());
Κώδικας: Επιλογή όλων
<form method="post" action="όνομα_του_αρχείου_που_βρίσκεται_ο_επόμενος_κώδικας">
username: <input name="username" type="text" size="20" />
message: <input name="message" type="text" size="60" />
<input name="submit" type="submit" value="Send" />
</form>
Κώδικας: Επιλογή όλων
if (isset($_POST['submit']))
mysql_query("INSERT INTO chat (username, message) VALUES ('{$_POST['username']}', '{$_POST['message']}')");
Κώδικας: Επιλογή όλων
$chat = mysql_query('SELECT * FROM ( SELECT * FROM chat ORDER by id DESC limit 20 ) TMP ORDER BY ID ASC');
while ($rows = mysql_fetch_assoc($chat))
echo("{$rows['username']}: {$rows['message']}<br />");
Να και ένα απλό παράδειγμα πώς μπορούμε να το βάλουμε στη σελίδα μας.
Κώδικας: Επιλογή όλων
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Chat Script</title>
</head>
<body>
<?php
mysql_connect('localhost', 'database_username', 'database_password') or die(mysql_error().'</body></html>');
mysql_select_db('database_name') or die(mysql_error().'</body></html>');
if (isset($_POST['submit']))
mysql_query("INSERT INTO chat (username, message) VALUES ('{$_POST['username']}', '{$_POST['message']}')");
?>
<table width="100%" border="1">
<tr>
<td>
<?php
$chat = mysql_query('SELECT * FROM ( SELECT * FROM chat ORDER by id DESC limit 20 ) TMP ORDER BY ID ASC');
while ($rows = mysql_fetch_assoc($chat))
echo("{$rows['username']}: {$rows['message']}<br />");
?>
</td>
</tr>
</table>
<form method="post" action="<?=($_SERVER['PHP_SELF'])?>">
username: <input name="username" type="text" size="20" />
message: <input name="message" type="text" size="60" />
<input name="submit" type="submit" value="Send" />
</form>
</body>
</html>