Skripta knjige gostiju u PHP-u. Web dizajn i optimizacija pretraživača Instalacija i rusifikacija Phoca knjige gostiju

» » @lexGuestbook

@lex Knjiga gostiju je besplatna PHP knjiga gostiju skripte za web stranice. Napisano PHP jezik, @lexGuestbook Lako se instalira za nekoliko minuta, čak i početnici će ga lako razumjeti.

PHP knjiga gostiju Potpuno besplatna skripta - glavni uvjet: ne uklanjajte autorska prava na dnu stranice. PHP knjiga gostiju je instalirana na vašem serveru i potpuno je nezavisna od bilo koje druge stranice. Backup poruka u PHP knjizi gostiju na vaš zahtjev, barem svaki dan. Automatska instalacija Alex Knjiga gostiju: nazivi tabela u bazi podataka su sami napisani.

Prednosti skripte.
  • Zahvaljujući skinovima, možete promijeniti izgled @lexGuestbook kako bi odgovarao dizajnu vaše web stranice. (svi skinovi su važeći XHTML 1.0 Transitional)
  • Postoji oko 20 jezika ugrađenih u PHP knjigu gostiju.
  • Svaka država ima svoju zastavu.
  • Podrška za emotikone: mogućnost dodavanja vlastitih emotikona, brisanja, uređivanja.
  • Prikazuje se statistika znakova: možete postaviti maksimalan broj slova u jednoj poruci.
  • Interni pretraživač.
  • Mogućnost ocjenjivanja od strane posjetitelja. Bodovanje po sistemu od 10 poena.
Podržani jezici

Cijeli prijevod.
francuski, engleski, poljski, njemački, norveški, italijanski, holandski, slovački, perzijski, turski.

Djelomični prijevod. Neke riječi su još uvijek na engleskom.
Španski, ruski, švedski, češki, hrvatski, portugalski, islandski, srpski, danski.

Što se tiče HTML kodova, programiranje knjige gostiju u početku može izgledati bezizazovno, i to s pravom. Kada vidite knjigu gostiju, traže se osnovne informacije i čini se da svako ko ima osnovno znanje HTML programskog jezika može napisati HTML kodove knjige gostiju. Međutim, knjige gostiju, od najboljih do najgorih, zahtijevaju malo više vještine nego što mislite.

Šta je knjiga gostiju?

Knjiga gostiju je online način da posjetiteljima vaše stranice omogućite komentar ili traženje informacija. Većina knjiga gostiju objavljuje ono što je napisano na web stranici tako da svi mogu čitati komentare gostiju. Najčešće stavke koje vidite u knjizi gostiju su:

  • Ime ili Korisničko ime
  • Gdje borave (iako možete postaviti HTML kod da sakrije ovu činjenicu)
  • E-pošta (opet, možete sakriti ovu činjenicu i poslati je samo na vašu e-poštu u svrhu komunikacije
  • Komentari
  • Neke knjige gostiju izbacuju odjeljak za komentare za brzu anketu. Obično možete pronaći pitanja poput "Šta mislite o ovoj web-lokaciji: dobro, pristojno, loše, sjajno" ili "Jesu li informacije pružene: dovoljno, nedovoljno, baš kako treba"
  • Opcije za traženje odgovora ili drugih informacija
povezani članci

Knjige gostiju se mogu programirati da šalju ove informacije na adresu e-pošte po vašem izboru, tako da se ne morate stalno prijavljivati ​​na stranicu da biste vidjeli unose u knjigu gostiju.

Gdje pronaći HTML kodove, Knjiga gostiju

Bilo da poznajete HTML programiranje, početni ste web dizajner ili jednostavno želite knjigu gostiju na svojoj web lokaciji, korištenje unaprijed napisanih HTML kodova može vam uštedjeti vrijeme. Kodovi koje možete pronaći na mreži obično su dobro testirani i pružaju najosnovnije programiranje potrebno za knjige gostiju koje se lako koriste.

  • Kôd u HTML polju za komentare pruža osnovni pregled knjige gostiju sa HTML kodom. Sve što trebate učiniti je prilagoditi tekst svojim potrebama i nazivu vaše domene. Instrukcije su date na početku stranice. Kod uključuje redove za ime i adresu.
  • Za veliki izbor HTML kodova i skripti, posjetite . Uz tako raznolik i veliki izbor, trebali biste moći pronaći onu koja funkcionira na web stranici koju kreirate. Možete birati od osnovnih knjiga gostiju do naprednijeg programiranja koje uključuje padajuće menije i kod za Mac i Linux mašine. Kodovi su samo besplatni probni period od 30 dana, tako da ako pronađete set kodova koji vam se sviđaju, morat ćete platiti za potpunu upotrebu.
  • U Freeboku možete unijeti neke osnovne informacije o tome koji tekst želite u svoju knjigu gostiju i web stranica će generirati kod za vas. Nakon toga, možete još više prilagoditi knjigu gostiju kreiranjem predloška i uređivanjem koda u načinu izgleda predloška Freeboka koja će vam pomoći s određenim vezama koje vam mogu zatrebati kako biste koristili Freebok.
  • Da brzo dodate knjigu gostiju sa samo poljem za komentare, idite na Kod knjige gostiju. Početni kod je već generiran, ali postoji pet opcija koje možete provjeriti i poništiti kako biste malo promijenili kod:
    • Sažmi knjigu gostiju. Ovo uključuje vezu koja može otvoriti i zatvoriti knjigu gostiju na web stranici na koju je umetnete.
    • Stavite knjigu gostiju na vrh. Ako ovo nije označeno, knjiga gostiju i polje za komentare će se pojaviti ispod svih unosa na listi.
    • Prikaži datum podnošenja prijava. Ovo će dodati datum i vrijeme. Vrijeme će biti lokalna vremenska zona korisnika, a ne vaša.
    • Vulgarni filter. Briše sve vulgarnosti koje ljudi mogu napisati.
    • Također možete promijeniti broj komentara koji se objavljuju na stranici kako bi ih drugi mogli pročitati. Minimum je jedan, a maksimum sto. Preporučuje se da ga postavite između pet do dvadeset i pet.

Nedavno sam primio e-poruku u kojoj se traži pomoć oko skripte za knjigu gostiju ili knjigu recenzija. Stoga, držim obećanje i današnji članak će biti na ovu temu.

Šta je knjiga gostiju i zašto je potrebna na web stranici?

Knjiga gostiju je svojevrsna knjiga pritužbi ili želja, gdje svaki posjetitelj Vaše stranice može ostaviti poruku koju (ako je odobrio administrator) može pročitati svako. One. Ovo su najčešći komentari, ne samo za jednu objavu, već za cijelu stranicu!

Knjiga gostiju dodaje interaktivnost vašoj web lokaciji i uobičajen je način za pružanje povratnih informacija.

Dakle, prvo, napravimo tabelu u mysql bazi podataka u kojoj će biti pohranjeni svi komentari korisnika:

KREIRAJ TABELU AKO NE POSTOJI `knjiga gostiju` (`id` int(11) NOT NULL auto_increment, `user_ip` int(10) unsigned NOT NULL, `user_email` varchar(50) NOT NULL, `addtime` int(11) NOT , `name` varchar(15) NOT NULL, `text` tekst NOT NULL, `admin_text` tekst NOT NULL, `image` varchar(40) NOT NULL, `sex` tinyint(1) NOT NULL zadani "1", PRIMARNA KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • id — redni broj poruke
  • user_ip — IP adresa korisnika, predstavljena kao cijeli broj
  • user_email — adresa e-pošte korisnika
  • addtime — vreme za dodavanje poruke
  • name - korisničko ime
  • tekst — tekst poruke
  • admin_text — tekst odgovora administratora na poruku
  • slika — avatar korisnika
  • spol — pol korisnika (muški/ženski)

Kao što vidite u znaku postoji polje za IP adresu korisnika. Ovo je učinjeno kako biste potom mogli kreirati crnu listu u koju možete unijeti IP adrese “nedobrih” korisnika koji neće moći ostavljati poruke u budućnosti.

Polje seksa je potrebno kako bi se prikazao "ispravan" avatar u slučaju da korisnici ne uploaduju svoj.

Sredili smo bazu podataka. Pređimo na programiranje. Pošto radimo sa bazom podataka, prvo što ćemo uraditi je kreirati najjednostavniju klasu za rad sa bazom podataka. Da biste to učinili, kreirajte datoteku DB.class.php i tamo postavite sljedeći kod:

Klasa DB (privatna statička $instanca; privatna $MySQLi; privatna funkcija __construct(niz $dbOptions)( $this->MySQLi = @ new mysqli($dbOptions["db_host"],$dbOptions["db_user"], $dbOptions[ "db_pass"],$dbOptions["db_name"] if (mysqli_connect_errno()) ( throw new Exception("Greška baze podataka."); ) $this->MySQLi->set_charset("utf8" ) javna statička funkcija init); (niz $dbOptions)( if(self::$instance of self)( return false; ) self::$instance = new self($dbOptions); ) javna statička funkcija getMySQLiObject())( vrati self::$ instance- >MySQLi ) javna statička funkcija query($q)( return self::$instance->MySQLi->query($q); ) javna statička funkcija esc($str)( return self::$instance-> MySQLi-); >real_escape_string(htmlspecialchars($str) )

Vrijedi reći da je konstruktor ove klase proglašen privatnim, tako da se objekt ne može kreirati izvan klase, a inicijalizacija je moguća samo iz statičke init() metode. Uzima niz parametara MySQL veze i kreira instancu klase koja je sadržana u statičkoj varijabli self::$instance. Ovo osigurava da postoji samo jedna veza s bazom podataka u datom trenutku.

Ostatak klase izvodi upite baze podataka na osnovu statičke metode query().

Ako želite, možete modificirati ovu klasu kako vam je potrebno!

Takođe, u izradi knjige gostiju biće nam potrebne pomoćne funkcije, koje ću staviti u poseban fajl i nazvati ga helper.php.

Sada smo glatko pristupili najvažnijem fajlu u našoj skripti - index.php. Ovdje će se izvršiti sva logika skripte.

Dakle, prva stvar koju trebate učiniti je inicijalizirati sesiju, postaviti osnovne postavke i povezati se na mysql bazu podataka. Sesija će se pohraniti sigurnosni kod(captcha) forme.

Session_start(); /* Konfiguracija baze podataka. Dodajte svoje podatke */ $dbOptions = array("db_host" => "localhost", "db_user" => "", "db_pass" => "", "db_name" => ""); //Povezivanje klase za rad sa bazom podataka zahteva "DB.class.php" //Povezivanje pomoćnih funkcija zahteva "helper.php" //Povezivanje sa bazom podataka DB::init($dbOptions); $appath = realpath(dirname(__FILE__))."/"; //Folder na serveru u koji će biti postavljeni avatari $uploaddir = "images/avatars"; //Maksimalni broj poruka na jednoj stranici $per_page = 10; //Broj stranica u stranicama $num_page = 2;

Da biste izgradili navigaciju kroz stranice u knjizi gostiju, morate saznati ukupan broj poruka. Ovo se može uraditi ovako:

// Dobiti ukupan broj poruka $result = DB::query("SELECT COUNT(*) AS numrows FROM guestbook"); $total = $result->fetch_object()->numrows;

Sada odredimo broj stranice koju treba prikazati. Da bismo to učinili, obraditi ćemo varijablu $_GET["p"]

$start_row = (!prazno($_GET["p"]))? intval($_GET["p"]): 0; if($početni_red< 0) $start_row = 0; if($start_row >$ukupno) $početni_red = $ukupno;

$result = DB::query("SELECT * IZ knjige gostiju ORDER BY addtime DESC LIMIT ".$start_row.",".$per_page); //Lista poruka će biti pohranjena ovdje $items = array(); while($row = $result->fetch_assoc())( $row["addtime"] = format_date($row["addtime"],"date")."|".format_date($row["addtime"] "vrijeme");

Ovdje sam koristio format_date() funkciju za rad sa datumom i vremenom koje sam kreirao u helper.php datoteci. Njegov glavni zadatak je da prikaže datum i vrijeme u ruskom formatu. Evo njegovog koda:

Funkcija format_date($date,$format = "datum")( if(empty($date)) vraća ""; $months = array("1" => "januar", "2" => "februar", " 3" => "mart", "4" => "april", "5" => "maj", "6" => "jun", "7" => "juli", "8" => " avgust", "9" => "septembar", "10" => "oktobar", "11" => "novembar", "12" => "decembar"); if($format == "vreme") ( return date("H:i",$date); ) elseif($format == "datum")( $m = datum("n", $date); $m = $months[$m]; $ d = date("j",$y = datum("Y",$date return $d.) ".$y" else("d.M.Y :i",$date); ) )

Ova funkcija ima samo 2 parametra:

  • $date — datum u UNIX formatu (broj sekundi koje je prošlo od noći 1. januara 1970.)
  • $format — obrazac za izlaz datuma.

Sada možemo prikazati listu poruka na stranici. Za ovo koristim sljedeći html kod:

Knjiga gostiju Recenzije ostavite recenziju

mob_info