U ovom vodiču kreiraćemo knjigu gostiju u PHP-u koristeći AJAX. Zapisi će biti pohranjeni u bazi podataka. Tabela će sadržavati sljedeće informacije: ime pošiljaoca, email adresu, IP adresu i datum-vrijeme posljednjeg unosa. jQuery će se koristiti (za implementaciju AJAX-a). Također će biti implementirana jednostavna zaštita od neželjene pošte - ne možete objaviti više od jednog unosa svakih 10 minuta.
Korak 1: SQL
Da bi naša aplikacija radila, moramo kreirati tabelu:
KREIRAJ TABELU AKO NE POSTOJI `s178_guestbook` (`id` int(10) unsigned NOT NULL auto_increment, `name` varchar(255) default "", `email` varchar(255) default "", `opis` varchar(255) default "", `kada` int(11) NOT NULL default "0", `ip` varchar(20) default NULL, PRIMARNI KLJUČ (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Korak 2 PHP
Glavna datoteka će sadržavati sljedeći kod:
knjiga gostiju.php
=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); inače error_reporting(E_ALL & ~E_NOTICE); require_once("classes/CMySQL.php"); // uključujući klasu usluge za rad sa bazom podataka // Dobijte IP funkcija posjetitelja getVisitorIP() ( $ip = "0.0.0.0"; if((isset($_SERVER["HTTP_X_FORWARDED_FOR"])) && (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))) ( $ip = $ _SERVER["HTTP_X_FORWARDED_FOR"]; ) elseif((isset($_SERVER["HTTP_CLIENT_IP"])) && (!empty($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = explode(".",$_SERVER[] "HTTP_CLIENT_IP"]); $ip = $ip.".".$ip."".$ip.".".$ip; ) elseif((!isset($_SERVER["HTTP_X_FORWARDED_FOR"])) | | (prazno($_SERVER["HTTP_X_FORWARDED_FOR"]))) ( if ((!isset($_SERVER["HTTP_CLIENT_IP"])) && (prazno($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = $_SERVER ["REMOTE_ADDR"]; ) ) return $ip; ) // Dobijte najnovije unose u funkciji knjige gostiju getLastRecords($iLimit = 3) ( $sRecords = ""; $aRecords = $GLOBALS["MySQL"]->getAll ( "ODABIR * IZ `s178_guestbook` ORDER BY `id` DESC L IMIT($iLimit)"); foreach ($aRecords kao $i => $aInfo) ( $sWhen = date("F j, Y H:i", $aInfo["when"]); $sRecords .=<< ($aInfo["opis"])