Ένα απλό chat script

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

Συντονιστές: Super-Moderators, WebDev Moderators, PHP Moderators

Απάντηση
mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Ένα απλό chat script

Δημοσίευση από mariosal » 13 Ιουν 2009 04:38

Γεια σας,

Αυτό που θα σας δείξω είναι πώς μπορεί κάποιος να φτιάξει ένα πολύ απλό 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 )
);
Φτιάχνουμε το configuration για τη MySQL.

Κώδικας: Επιλογή όλων

mysql_connect('localhost', 'database_username', 'database_password') or die(mysql_error());
mysql_select_db('database_name') or die(mysql_error());
Έπειτα τη φόρμα από την οποία θα παίρνουμε το username του αποστολέα και το μήνυμά του.

Κώδικας: Επιλογή όλων

<form method="post" action="όνομα_του_αρχείου_που_βρίσκεται_ο_επόμενος_κώδικας">
username&#58; <input name="username" type="text" size="20" />
message&#58; <input name="message" type="text" size="60" />
<input name="submit" type="submit" value="Send" />
</form>
Μετά φτιάχνουμε τον κώδικα που θα στέλνει στην database το username και το μήνυμα.

Κώδικας: Επιλογή όλων

if &#40;isset&#40;$_POST&#91;'submit'&#93;&#41;&#41;
	mysql_query&#40;"INSERT INTO chat &#40;username, message&#41; VALUES &#40;'&#123;$_POST&#91;'username'&#93;&#125;', '&#123;$_POST&#91;'message'&#93;&#125;'&#41;"&#41;;
Τέλος φτιάχνουμε τον κώδικα από τον οποίο θα παίρνουμε τα πρώτα 20 username και μηνύματα που υπάρχουν στην database.

Κώδικας: Επιλογή όλων

$chat = mysql_query&#40;'SELECT * FROM &#40; SELECT * FROM chat ORDER by id DESC limit 20 &#41; TMP ORDER BY ID ASC'&#41;;
while &#40;$rows = mysql_fetch_assoc&#40;$chat&#41;&#41;
echo&#40;"&#123;$rows&#91;'username'&#93;&#125;&#58; &#123;$rows&#91;'message'&#93;&#125;<br />"&#41;;
Να πω ότι δεν υπάρχει καμία ασφάλεια για το script. Το έφτιαξα απλά για να πάρουν μία βάση για κάποιο chat script που ετοιμάζουν οι ενδιαφερόμενοι. Είναι XHTML valid.

Να και ένα απλό παράδειγμα πώς μπορούμε να το βάλουμε στη σελίδα μας.

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//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&#40;'localhost', 'database_username', 'database_password'&#41; or die&#40;mysql_error&#40;&#41;.'</body></html>'&#41;;
mysql_select_db&#40;'database_name'&#41; or die&#40;mysql_error&#40;&#41;.'</body></html>'&#41;;
if &#40;isset&#40;$_POST&#91;'submit'&#93;&#41;&#41;
	mysql_query&#40;"INSERT INTO chat &#40;username, message&#41; VALUES &#40;'&#123;$_POST&#91;'username'&#93;&#125;', '&#123;$_POST&#91;'message'&#93;&#125;'&#41;"&#41;;
?>
<table width="100%" border="1">
<tr>
<td>
<?php
$chat = mysql_query&#40;'SELECT * FROM &#40; SELECT * FROM chat ORDER by id DESC limit 20 &#41; TMP ORDER BY ID ASC'&#41;;
while &#40;$rows = mysql_fetch_assoc&#40;$chat&#41;&#41;
echo&#40;"&#123;$rows&#91;'username'&#93;&#125;&#58; &#123;$rows&#91;'message'&#93;&#125;<br />"&#41;;
?>
</td>
</tr>
</table>
<form method="post" action="<?=&#40;$_SERVER&#91;'PHP_SELF'&#93;&#41;?>">
username&#58; <input name="username" type="text" size="20" />
message&#58; <input name="message" type="text" size="60" />
<input name="submit" type="submit" value="Send" />
</form>
</body>
</html>

kala
Δημοσιεύσεις: 97
Εγγραφή: 19 Σεπ 2010 11:11
Τοποθεσία: GR
Επικοινωνία:

Ένα απλό chat script

Δημοσίευση από kala » 02 Οκτ 2010 12:34

Έχω ένα πρόβλημα με την τελευταία γραμμή στη βάση

PRIMARY KEY( id )

το KEY οπός το βλέπω πρέπει να είναι τύπος όμως στη δίκια μου phpMyAdmin δεν μου το βάζει
στους τύπους υπαρχή κάποια εναλλακτική για να εισάγω στη βάση μου.

Και επίσης ένα μικρο πρόβλημα εμφάνισης στο κωδικά στη σελίδα ?>

flawl3ss
Δημοσιεύσεις: 4
Εγγραφή: 14 Αύγ 2010 20:26

Ένα απλό chat script

Δημοσίευση από flawl3ss » 27 Δεκ 2010 17:25

Υπήρχε μια έκδοση του phpMyAdmin που αφαιρούσε το KEY όταν προσπαθούσες να βάλεις περισσότερα fields από αυτά που του είχες πει πρώτα.

Αυτή η έκδοση κυκλοφορούσε στο XAMPP και WAMP.

Ανανέωσε το phpMyAdmin σου.

Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης