Prosty chat w PHP
Wstęp do artykułu
Dziś stworzymy prosty chat w PHP. Jako bazy danych użyjemy pliku tekstowego. Tekst wiadomości będzie pisany w wygodnym edytorze HTML (zawierać będzie dla bezpieczeństwa tylko podstawowe funkcje formatowania). To jest mój pierwszy artykuł, więc proszę o poprawianie błędów.
Tworzymy chat
Na początek zrobimy prostą stronę główną index.php używając ramek:
I strona główna gotowa. Zajmiemy się teraz skryptem pokazującym rozmowę (rozmowa.php). Użyjemu tu starej, dobrej funkcji include. Przedtem stwórz plik "rozmowa.txt" i nadaj mu prawa do zapisu.
Teraz najtrudniejsza część - 'reply.php'. W tym pliku następuje przesłanie danych z formularza do pliku save.php i dopisanie go do pliku rozmowa.txt. Będziemy budować tą stronę stopniowo.
Na początku strony umieścimy skrypt JavaScript odpowiedzialny za edytor HTML na stronie.
I zaraz po tym jeszcze jeden skrypcik.
Później tworzymy formularz...
Teraz mechanizm zapisujący dane do pliku rozmowa.txt - save.php
I pod koniec pliku save.php dodajemy linijkę:
I już prawie koniec. Jedyne co nam jeszcze zostało to ułatwienie korzystania z chata. Niestety po zapisie do pliku odświeża się tylko ramka z formularzem. To oznacza że mamy odświeżać stronę aby zobaczyć nowe wpisy?
Nie. Wystarczy na końcu pliku rozmowa.php dodać znacznik HTML odpowiedzialny za odświeżanie strony co 1 sekundę.
I skończyliśmy tworzenie prostego chata. Zobaczyć działanie skryptu możesz na mojej stronie: http://jarekx.110mb.com/czat/mychat/4programmers/.
Dziś stworzymy prosty chat w PHP. Jako bazy danych użyjemy pliku tekstowego. Tekst wiadomości będzie pisany w wygodnym edytorze HTML (zawierać będzie dla bezpieczeństwa tylko podstawowe funkcje formatowania). To jest mój pierwszy artykuł, więc proszę o poprawianie błędów.
Tworzymy chat
Na początek zrobimy prostą stronę główną index.php używając ramek:
<FRAMESET ROWS="*, 230" FRAMEBORDER=0 FRAMESPACING=0 BORDER=0> <FRAME SRC=rozmowa.php NAME="gora"> <FRAME SRC="reply.php" NAME="dol"> </FRAMESET>
I strona główna gotowa. Zajmiemy się teraz skryptem pokazującym rozmowę (rozmowa.php). Użyjemu tu starej, dobrej funkcji include. Przedtem stwórz plik "rozmowa.txt" i nadaj mu prawa do zapisu.
<? include("rozmowa.txt"); ?>
Teraz najtrudniejsza część - 'reply.php'. W tym pliku następuje przesłanie danych z formularza do pliku save.php i dopisanie go do pliku rozmowa.txt. Będziemy budować tą stronę stopniowo.
Na początku strony umieścimy skrypt JavaScript odpowiedzialny za edytor HTML na stronie.
tinyMCE.init({ mode : "textareas", theme : "advanced", language : "en", plugins : "emotions", editor_selector : "mceEditor", theme_advanced_buttons1 : "bold, italic, underline, separator, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, bullist, numlist, undo, redo, link, unlink, separator, emotions", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_path_location : "bottom", extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]" });
I zaraz po tym jeszcze jeden skrypcik.
<script type="text/javascript" src="http://www.designsphere.pl/plugins/editors/tinymce/jscripts/tiny_mce/tiny_mce.js">Później tworzymy formularz...
<form method="post" action="save.php"> <textarea id="content" name="content" style="width:100%; height:150;" class="mceEditor"></textarea><br><input name="user" size="20" value="Twój nick"> <input type="submit" value="Wyślij"></form>
Teraz mechanizm zapisujący dane do pliku rozmowa.txt - save.php
//Pobieramy dane z formularza $EE = $_POST["content"]; $user = $_POST["user"]; //Otwieramy plik do dopisywania i odczytu $fp=fopen("rozmowa.txt", "a+"); //Zapisujemy dane i oddzielamy znakiem nowej linii fwrite($fp, "$user: $EE<br>"); //Zamykanie dokumentu fclose($fp);
I pod koniec pliku save.php dodajemy linijkę:
<script>window.location="reply.php"</script>
I już prawie koniec. Jedyne co nam jeszcze zostało to ułatwienie korzystania z chata. Niestety po zapisie do pliku odświeża się tylko ramka z formularzem. To oznacza że mamy odświeżać stronę aby zobaczyć nowe wpisy?
Nie. Wystarczy na końcu pliku rozmowa.php dodać znacznik HTML odpowiedzialny za odświeżanie strony co 1 sekundę.
<META HTTP-EQUIV="REFRESH" CONTENT="1">I skończyliśmy tworzenie prostego chata. Zobaczyć działanie skryptu możesz na mojej stronie: http://jarekx.110mb.com/czat/mychat/4programmers/.
Kategoria: PHP
Jak w tytule, "Prosty chat w PHP", zatem sądzę że można to przemyśleć jaki on będzie (: