Pisanje scenarija knjige gostiju. Kreirajte knjigu gostiju Luda knjiga gostiju html

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"])

EOF; ) vrati $sRecords; ) if ($_POST) ( // Prihvati nove zapise $sIp = getVisitorIP(); $sName = $GLOBALS["MySQL"]->escape(strip_tags($_POST["name"])); $sEmail = $GLOBALS ["MySQL"]->escape(strip_tags($_POST["name"])); $sDesc = $GLOBALS["MySQL"]->escape(strip_tags($_POST["text"])); if ($ sName && $sEmail && $sDesc && $sIp) ( // Anti-spam $iOldId = $GLOBALS["MySQL"]->getOne("SELECT `id` FROM `s178_guestbook` GDJE `ip` = "($sIp) " AND `when` >= UNIX_TIMESTAMP() - 600 LIMIT 1"); if (! $iOldId) ( // Možete dodati komentare $GLOBALS["MySQL"]->res("INSERT INTO `s178_guestbook` SET `name ` = "($sName)", `email` = "($sEmail)", `opis` = "($sDesc)", `kada` = UNIX_TIMESTAMP(), `ip` = "($sIp)"" ) ; // Ispis zadnjih 10 zapisa $sOut = getLastRecords(); echo $sOut; izlaz; ) ) echo 1; izlaz; ) // Ispis posljednjih 10 zapisa $sRecords = getLastRecords(); ob_start(); ?>

Knjiga gostiju

Dodajte svoju recenziju ovdje

Knjiga gostiju u PHP-u

Kada otvorite stranicu, vidjet ćete bilježnicu. Na lijevoj strani su prikazana posljednja tri unosa, a sa desne strane obrazac za postavljanje nove recenzije. Kada se obrazac pošalje, skripta šalje POST podatke (na istu PHP stranicu), zatim pohranjuje primljene podatke u bazu podataka i vraća posljednja tri zapisa. Koristeći efekat fade, unosi se prikazuju na lijevoj strani knjige.

Takođe koristeći PHP fajl

classes/CMySQL.php

Ova datoteka sadrži šifru klase za rad sa bazom podataka. Potrebno je da podesite tri varijable za povezivanje sa serverom.

$this->sDbName = "DATABASE_NAME"; $this->sDbUser = "KORISNIČKO IME"; $this->sDbPass = "LOZKA";

Korak 3CSS

A sada ćemo formirati izgled knjige gostiju:

css/main.css

*( margin:0; padding:0; ) body ( background-color:#fff; color:#fff; font:14px/1.3 Arial,sans-serif; ) podnožje ( background-color:#212121; bottom:0; box-shadow: 0 -1px 2px #111111; display:block; visina:70px; lijevo:0; pozicija:fiksna; širina:100%; z-index:100; ) podnožje h2(font-size:22px; font- težina:normalno; lijevo:50%; margin-left:-400px; padding:22px 0; pozicija:apsolutna; širina:540px; ) podnožje a.stuts,a.stuts:visited( border:none; text-decoration:none boja:#fcfcfc; font-size:14px; lijevo:50%; line-height:31px; margin:23px 0 0 110px; position:apsolute; top:0; ) footer .stuts span (font-size:22px; font-weight:bold; margin-left:5px; ) .container (pozadina: transparentni url(../images/book_open.jpg) bez ponavljanja gornji centar ; boja: #000000; visina: 600px; margina: 20px auto; overflow: hidden; padding: 35px 100px; pozicija: relativna; širina: 600px; ) #col1, #col2 ( float: lijevo; margina: 0 10px; overflow: hidden; text-align: center; širina: 280px; ) #col1 ( -webkit-transform: rotate(3deg); -moz-transform: rotirati(3deg); -ms-transform: rotirati(3deg); -o-transform: rotirati (3 stepena); ) #forma zapisa ( margin:10px 0; padding:10px; text-align:left; ) #records table td.label ( boja: #000; veličina fonta: 13px; padding-desno: 3px; text-align: desno ; ) #oznaka tabele zapisa (veličina fonta: 12px; vertikalno poravnanje: sredina; ) #tabela zapisa td.field input, #records table td.field textarea ( boja pozadine: rgba(255, 255, 255, 0.4) ; granica: 0px solid #96A6C5; font-family: Verdana,Arial,sans-serif; font-size: 13px; margin-top: 2px; padding: 6px; širina: 190px; ) #records table td.field input (pozadina -boja: rgba(200, 200, 200, 0.4); kursor: pokazivač; float:desno; širina: 100px; ) #tabela zapisa td.field input:hover (boja pozadine: rgba(200, 200, 200, 0.8) ); ) #records_list (text-align:left; ) #records_list .record ( border-top: 1px solid #000000; font-size: 13px; padding: 10px; ) #records_list .record:first-child ( border-top -width:0px; ) #records_list .record p:first-child (font-weight:bold; font-size:11px; )

PHP 5.2 i noviji;
- mod_rewrite;
- Baza podataka MySQL 4.1 i noviji.

Mogućnosti

Ugrađuje pod bilo koju stranicu (za ovo samo trebate urediti top.php i bottom.php fajlove);
- protiv poplava;
- lista zabrana;
- prikaz navigacije po stranici<< < ...| 5 | 6 | 7 ... > >>;
- podrška za BBKod;
- prikaz emotikona;
- obavještavanje o novim dodanim porukama;
- mogućnost dodavanja poruka za moderiranje;
- admin panel;
- Jednostavan za instalaciju i postavljanje.

Instalacija

Raspakujte arhivu i kopirajte sadržaj arhive u bilo koji folder na vašem web serveru (npr. "knjiga gostiju"). Otvorite datoteku config/config_db.php u uređivaču teksta i odredite postavke veze (host baze podataka ili IP, naziv baze podataka, login i lozinka). Postavite MySQL tablice baze podataka SQL upit iz guestbook.sql datoteke. obično na većini hostinga to se radi preko web interfejsa preko phpMyAdmin. Idite na administrativni panel (http://your_site/folder_with_script/admin/) i unesite lozinku 1111. Zatim odredite potrebna podešavanja.

Komercijalna verzija

Na zahtjev kupca mogu prilagoditi skriptu specifičnim uslovima. Mogu se dodati razne dodatne funkcije.

Bilješka

"PHP Knjiga gostiju" SCRIPT, DA JE SAMO PROGRAM POTPUNO BESPLATAN. MOŽETE SLOBODNO DISTRIBUIRATI, KOPIRATI, VRŠITI SVOJE IZMJENE U IZVORNOM KODU PROGRAMA, SAMO POD USLOVIMA AUTORSKOG PRAVA AUTORA. KORIŠTENJE PROGRAMA "PHP Knjiga gostiju" U KOMERCIJALNE SVRHE JE ZABRANJENO. VAŠE KORIŠĆENJE OVOG PROGRAMA JE NA VLASTITU RIZIK. AUTOR NIJE ODGOVORAN ZA IZVOĐENJE PROGRAMA, KAO I ZA GUBITAK, OŠTEĆENJE PODATAKA ILI BILO ČEGA ILI BILO ČEGA POVEZANO SA KORIŠĆENJEM I RADOM OVOG PROGRAMA.

Ako vam se dopao moj scenario i imate želju da mi se zahvalite sa rubljem, evo mojih podataka:

WebMoney
U237811811298
R198597198920
Z917380288657

Yandex novac
41001635943434

PayPal

Ako imate bilo kakvih pitanja ili prijedloga, pišite mi na: Ova adresa el. pošte je zaštićena od spambotova. Morate imati omogućen JavaScript za pregled.

» DRBGuestbook

DRBGuestbook je besplatna, jednostavna PHP skripta koja ne zahtijeva MySql bazu podataka. Unatoč tome, možete upravljati programom, brisati poruke, odobravati poruke, zabranjivati ​​korisnike putem IP adrese, putem admin panela zaštićenog lozinkom. Skripta također uključuje anti-spam provjere kao što su provjera slike, blokiranje URL-a i moderiranje svih poruka u knjizi. Možete postaviti funkciju tako da svaki put kada neko ostavi poruku, budete obaviješteni putem e-pošte.

Prednosti skripte

  • Brza i laka instalacija.
  • Ne zahtijeva MySQL bazu podataka. Sve poruke se pohranjuju u datoteku.
  • Možete izbrisati više poruka odjednom.
  • Sadrži provjeru protiv neželjene pošte.
  • Možete zabraniti IP adresu tako da ne možete ostavljati poruke.
  • Podržava moderiranje objava tako da se objavljuju samo odobreni postovi.
  • Primajte obavještenje putem e-pošte svaki put kada se neko pretplati na vašu knjigu gostiju.
  • Provjera poruke: lista "zabranjenih" (psovki) za objavljivanje.
  • Funkcija protiv poplave. Da spriječimo korisnike da tako često objavljuju.
  • Skripta sprečava objavljivanje HTML kodova ili linkova (URL) u telu poruke, kao mera predostrožnosti protiv neželjene pošte.
  • Postavljanje minimalnog i maksimalnog broja slova u jednoj poruci.
  • Skripta se može lako konfigurirati: poruke o greškama, upozorenja, datum i vrijeme.
  • Datum i vremenska zona se lako konfigurišu.
  • Generirane stranice sadrže XHTML sintaksu i dobro rade u IE i Firefox pretraživačima.
  • Prijavite se na admin panel preko web sučelja.

Zahtjevi sustava

  • PHP verzija 4.4 ili novija
  • GD biblioteka
  • Apache HTTP server sa .htaccess fajlom sa dozvoljenom funkcijom nadjačavanja (preporučeno)
  • Linux, Windows, Unix, Mac OSX, Sun Solaris, IIS

» » GBook

Ova PHP skripta će vam pomoći da implementirate funkciju knjige gostiju na vašoj web stranici. Bez upotrebe MySQL baze podataka, nije potrebna da bi skripta radila. Gbook skripta uključuje mnoge moćne SPAM filtere. I takođe zaštita pošte od SPAMera.

Postoje 2 txt fajla u skripti - header.txt i footer.txt. Uz pomoć ovih datoteka, možete dodati reklamne blokove ili brojače u svoju knjigu gostiju. Potpuna promjena predloška kako bi odgovarao stilu vaše stranice također neće uzrokovati velike poteškoće. Gbook program se može prevesti na bilo koji jezik na svijetu. Samo promijenite riječi na jednom jeziku datoteke.

Prednosti skripte

  • Podrška za emotikone.
  • Ne zahtijeva MySQL bazu podataka. Sve poruke se pohranjuju u datoteku.
  • Obavijest administratora mailom o novoj poruci u Knjizi gostiju.
  • Sadrži 2 anti-spam provjere.
  • Možete zabraniti IP adresu tako da ne možete ostavljati poruke.
  • Primajte obavještenje putem e-pošte svaki put kada se neko pretplati na vašu knjigu gostiju.
  • Provjera poruke: lista "zabranjenih" (necenzurisanih) riječi za objavljivanje. Naslovnica ****
  • Funkcija protiv poplave. Da spriječimo korisnike da tako često objavljuju.
  • Privatne poruke.

Knjiga gostiju može biti odličan način da posjetitelji vaše web stranice ostave trajni utisak o svojoj prisutnosti na vašoj web stranici, a da pritom ne budu previše nametljivi. Prije nego počnete razmišljati o HTML izvoru za knjigu gostiju, morate odlučiti kako želite da teče i kako želite da izgleda. U ovom slučaju ćemo pogledati knjigu gostiju koja postavlja obrazac za potpisivanje korisnika na vrh. Ispod toga će biti lista svih komentara koje su objavili čitaoci.

HTML izvorni kod

HTML izvor za našu knjigu gostiju će se sastojati od web obrasca i liste DIV kontejnera koji će držati ekran za potpisane komentare. Dio koda koji će upravljati formom je ovako jednostavan.

Molimo upišite našu knjigu gostiju

Odmah ispod obrasca postavićemo komentare za druge korisnike koji su se već upisali u knjigu gostiju i taj HTML koji to obrađuje izgleda otprilike ovako.

Sviđa mi se vaša web stranica, često ću se vraćati!!

Bilo je sjajno iskustvo provesti vrijeme ovdje, volio bih da doprinesem više!!

Wilbur Right

Divno je biti dio onoga što radite ovdje!!

Adam Adeve

Želimo Vam sve najbolje i uspjeh u Vašem projektu!

Tony Scott

Nastavite sa dobrim radom!!

Efekti postavljanja ova dva dijela HTML koda na vašu web stranicu knjige gostiju bili bi kao što je ilustrovano na slici prikazanoj iznad lijevo.

Neka sve funkcionira

Kao što je uobičajeno sa HTML-om, on nije previše funkcionalan sam po sebi jer je HTML dizajniran prvenstveno kao način za rukovanje prikazima teksta i slika. Da bismo riješili ovaj problem, moramo implementirati neki kod na strani servera za obradu podataka prikupljenih putem obrasca knjige gostiju. Ovaj kod na strani servera može biti na bilo kom od brojnih programskih jezika kao što su PHP, ASP .NET, JSP ili Ruby. Budući da je programiranje na ovim jezicima izvan okvira ovog članka, koristit ću generički, "pseudo" kod da predstavim kod na strani servera i da vam dam ideju kako bi to moglo izgledati.

povežite se na bazu podataka

ako (obrazac dostavljen)(

ubaci podatke u bazu podataka()

pročitajte sve unose u knjigu gostiju iz baze podataka i poredajte po datumu

while(unosi u bazu podataka postoje)(

// prikazuje cjeline u ovom formatu

ispiši: "

$fullname$
$date$

$message$

."

zatvorite vezu sa bazom podataka

Gornji pseudo kod jednostavno uspostavlja vezu sa bazom podataka u kojoj su podaci pohranjeni. Zatim provjerava da li je obrazac knjige gostiju poslan. Ako ima, onda unosi podatke u bazu podataka.

Sljedeća stvar koju pseudo kod radi je čitanje svih unosa u knjigu gostiju iz baze podataka i prikazivanje ih korisniku direktno ispod web obrasca dajući rezultat kao što se vidi na gornjoj slici.

Zaključak

Evo ga. HTML izvor za knjigu gostiju ne postaje ništa jednostavniji od toga. Knjige gostiju su jedna od najjednostavnijih i najosnovnijih dinamičkih stranica koje ćete ikada implementirati na svoju web stranicu. Naravno, knjiga gostiju se može dodatno oblikovati i složeniji načini rada i validacija podataka se mogu i trebaju koristiti kako bi se prilagodili toku vaše web stranice. Koji god način da odaberete za implementaciju knjige gostiju, osnove opisane u pseudo kodu ostaju iste.

Puno ime:
E-mail adresa
poruka: