Wysłany: 2008-07-01, 08:45 ShoutBox oparty na bazie MySQL
Witam!
W tym tutorialu chciałby napisać, jak każdy, kto zna php i html oraz podstawy SQL może sobie zrobić własny SB na swojej stronie
Niestety brakuje w nim filtra antyfloodowego i to jest jego wada
No ale zaczynajmy wreszcie:
Na początku tworzymy plik shoutbox.php:
Kod:
<table border="1">
<tr><td>
<iframe class="frame" src="shoutbox_view.php" width="XXX" height="YYY" border="0"></iframe>
</td></tr>
<tr><td>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<table border="0"><tr><td>
<input type="text" name="sbnick" value="Wpisz swój nick i naci¶nij <ENTER>..."
onfocus="if (this.value == 'Wpisz swój nick i naci¶nij <ENTER>...') {this.value = '';}"
onblur="if (this.value == '') {this.value = 'Wpisz swój nick i naci¶nij <ENTER>...';}" />
</td><td><tr><td>
<input type="text" name="sbtresc" value="Wpisz tre¶ć wiadomo¶ci i naci¶nij <ENTER>..."
onfocus="if (this.value == 'Wpisz tre¶ć wiadomo¶ci i naci¶nij <ENTER>...') {this.value = '';}"
onblur="if (this.value == '') {this.value = 'Wpisz tre¶ć wiadomo¶ci i naci¶nij <ENTER>...';}" />
</td><td>
<input type="submit" name="sbsubmit" value="Wy¶lij!"/>
</td></tr>
</table>
</form>
</td></tr></table>
To był kod html dla formularza^^.
W kodzie możemy zamienić XXX na szerokość ramki z wiadomościami, a YYY na jej wysokość.
Teraz kod php:
W skrypcie wykorzystujemy klasę PDO, która jest dołączona do PHP 5, a służy do łączenia się z bazami danych, oraz ułatwia wykonywanie poleceń i zabezpiecza nam skrypt przed atakami SQL Injection.
Teraz plik shoutbox_view.php, potrzebny do wyświetlania wiadomości z bazy danych.
Teraz wyświetlamy nasze wiadomości, tablice z nimi umieszczamy w pętli, aby wyświetlić je po kolei tak jak chcemy. Możemy zmienić limit wiadomości,k tóre będą wyświetlane, w tym wypadku wynosi on 15. Jest podany w zapytaniu do bazy. Aby zmienić kolejność wyświetlania wiadomości, usuwamy 'desc' z tego samego zapytania.
Teraz dodajemy jeszcze kod, który pozwoli nam na usuwanie wiadomości:
Plik musimy umieścić w tym samym miejscu co shoutbox.php
Teraz został nam jeszcze plik config.php.inc, oraz stworzenie tabeli w bazie danych.
Najpierw zajmiemy się tym plikiem. Będzie on zawierał dane potrzebne do połączenia się z naszą bazą danych:
Kod:
<?php
$dbhost = 'localhost'; // host bazy danych
$dbuser = 'root'; //user bazy danych
$dbpass = ''; //haslo dal podanego wyzej usera
$dbname = 'baza_danych'; //nazwa naszej bazy danych
$pdo = new PDO("mysql:host=$dbhost;dbname=$dbname", "$dbuser", "$dbpass");
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
Plik musimy uzupełnić własnymi danymi do bazy. Plik umieszczamy w głównym katalogu naszym skryptem.
A teraz musimy jeszcze stworzyć tabele w bazie danych:
Kod:
CREATE TABLE `shoutbox` (
`id` smallint(6) NOT NULL auto_increment,
`user` tinytext NOT NULL,
`msg` text NOT NULL,
`date` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;
No i to by było na tyle, aby umieścić nasz skrypt na stronie wystarczy dodać:
Kod:
<?php
include './sciezka_do_pliku/shoutbox.php';
?>
Plik do którego includujemy SB musi mieć rozszerzenie php xD
Skrypt każdy może wykorzystywać do woli na swoich stronach, proszę tylko o dodanie tekstu, że skrypt jest mojego autorstwa, jeżeli ktoś będzie chciał go skopiować (i tak nikt nie posłucha ).
Jeżeli komuś się chce, to może dopisać jeszcze filtr antyfloodowy i edytowanie wiadomości
demo.png Jeszcze nad polem do dodawania wiadomości powinno być pole do wpisywania nicku ;) To jest wersja w moim cms'ie i tu nick jest pobierany z sesji ;)
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum