Računala Windows Internet

PHP Knjiga gostiju. Pisanje skripte knjige gostiju Mad dealer knjiga gostiju php

PHP 5.2 i noviji;
- mod_rewrite;
- Baza MySQL podaci 4.1 i novije verzije.

Mogućnosti

Ugrađeno ispod bilo koje web stranice (sve što trebate učiniti je urediti datoteke top.php i bottom.php);
- protupoplava;
- popis zabrana;
- navigacija kroz prikaz<< < ...| 5 | 6 | 7 ... > >>;
- Podrška za BBKod;
- prikaz emotikona;
- obavijest o novim dodanim porukama;
- mogućnost dodavanja poruka za moderiranje;
- upravljačka ploča;
- jednostavan za instalaciju i postavljanje.

Montaža

Raspakirajte arhivu i kopirajte sadržaj arhive u bilo koju mapu na vašem web poslužitelju (na primjer "knjiga gostiju"). Otvorite datoteku config / config_db.php u uređivač teksta i odredite postavke veze (host baze podataka ili IP, naziv baze podataka, korisničko ime i lozinka). Dodijelite tablice baze podataka MySQL SQL upita iz datoteke guestbook.sql. obično se na većini hosting usluga to radi putem web sučelja putem phpMyAdmin. Idite na administrativnu ploču (http: // your_site / folder_with_script / admin /) i unesite lozinku 1111. Zatim odredite potrebne postavke.

Komercijalna verzija

Na zahtjev kupca mogu prilagoditi skriptu za posebne uvjete. Mogu se dodati razne dodatne funkcije.

Bilješka

SCRIPT "PHP Guestbook", SLJEDEĆE JE SAMO PROGRAM POTPUNO BESPLATAN. MOŽETE SLOBODNO DISTRIBIRATI, KOPIRATI, UČINITI SVOJE IZMJENE U IZVORNOM KODU PROGRAMA, SAMO POD UVJETOM AUTORSKOG PRAVA JE SPREMEN. UPOTREBA SOFTVERA "PHP Knjiga gostiju" U KOMERCIJALNE SVRHE JE ZABRANJENA. VAŠA JE UPOTREBA OVOG SOFTVERA NA VLASTITU RIZIK. AUTOR NE PREUZIMA NIKAKVU ODGOVORNOST ZA IZVOĐENJE APLIKACIJE, KAO I ZA GUBITKE, OŠTEĆENJA PODATAKA ILI BILO ČEGA DRUGO U VEZI S KORIŠTENJEM I RADOM OVE APLIKACIJE.

Ako vam se svidio moj scenarij i želite mi zahvaliti rublju, evo mojih podataka:

WebMoney
U237811811298
R198597198920
Z917380288657

Yandex novac
41001635943434

PayPal

Ako imate bilo kakvih pitanja ili prijedloga, pišite mi na: Ova adresa E -pošta zaštićeno od spambota. Morate omogućiti JavaScript da biste ga vidjeli.

»» @LexGuestbook

@lex Knjiga gostiju- slobodno je PHP knjiga gostiju skripta za web stranice. Napisano u PHP-u, @lex Knjiga gostiju Jednostavan za instalaciju za nekoliko minuta, čak i za početnike će biti lako shvatiti.

PHP knjiga gostiju potpuno besplatna skripta - glavni uvjet: ne uklanjajte autorska prava na dnu stranice. PHP knjiga gostiju instalira se na vaš poslužitelj i potpuno je neovisan o svim drugim stranicama. Sigurnosna kopija objavljujte u PHP knjigu gostiju po svom izboru, čak i svaki dan. Automatska instalacija Alex Knjiga gostiju: nazivi tablica u bazi se sami registriraju.

Prednosti skripte.

  • Zahvaljujući skinovima, možete se promijeniti izgled @lexKnjiga za goste za dizajn Vaše stranice. (sve maske su važeće XHTML 1.0 Transitional)
  • V PHP knjiga gostiju Ugrađeno je oko 20 jezika.
  • Svaka država ima svoju istaknutu 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.
  • Interna tražilica.
  • Mogućnost ocjenjivanja od strane posjetitelja. Bodovanje po sustavu od 10 bodova.

Podržani jezici

Kompletan prijevod.
francuski, engleski, poljski, njemački, norveški, talijanski, nizozemski, slovački, perzijski, turski.

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

PHP vodič za knjigu gostiju. Danas sam pripremio novi zanimljiv tutorial - reći ću vam kako kreirati ajax PHP knjigu gostiju s vlastitim jedinstvenim dizajnom. Naši zapisi će biti spremljeni u SQL baza podataka. Ova tablica će sadržavati sljedeće informacije: ime pošiljatelja, e-mail, zapis u knjizi gostiju, datum-vrijeme zapisa i IP pošiljatelja. Naravno, koristit ćemo i jQuery (da ga napravimo Ajax). Jedna od važnih značajki je zaštita od neželjene pošte (ne možemo objaviti više od jednog zapisa svakih 10 minuta)!

Sada - preuzmite izvorne datoteke i krenimo s kodiranjem!

Korak 1. SQL

Moramo dodati jednu tablicu u našu bazu podataka (za pohranu naših zapisa):

STVORI TABLICU AKO NE POSTOJI `s178_guestbook` (` id` int (10) unsigned NOT NULL auto_increment, `name` varchar (255) default" ",` email` varchar (255) default "", `opis` varchar (255) zadano "", `kada` int (11) NOT NULL zadano" 0 ",` ip` varchar (20) zadano NULL, PRIMARNI KLJUČ (`id`)) ENGINE = MyISAM DEFAULT CHARSET = utf8;

Korak 2. PHP

Ovdje je izvorni kod naše glavne datoteke:

knjiga gostiju.php

= ") == 1) error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED); else error_reporting (E_ALL & ~ E_NOTICE); require_once (" klase / CMySQL.php "); // uključujući klasu usluge za rad s bazom podataka // get posjetitelj IP funkcija getVisitorIP () ($ ip = "0.0.0.0"; if ((isset ($ _ SERVER ["HTTP_X_FORWARDED_FOR"])) && (! prazno ($ _ SERVER ["HTTP_X_FORWARDED_FOR"]))) ($ ip = $ _SERVER ["HTTP_X_FORWARDED_FOR"];) elseif ((isset ($ _ SERVER ["HTTP_CLIENT_IP"]) && (! Prazan ($ _ SERVER ["HTTP_CLIENT_IP"]))) ($ ip = eksplodirati ("." , $ _ SERVER [ "HTTP_CLIENT_IP"]); $ ip = $ ip. ".". $ Ip. ".". $ Ip. ".". $ Ip;) elseif ((! Isset ($ _ SERVER [" HTTP_X_FORWARDED_FOR"])) | | (prazno ($ _ SERVER ["HTTP_X_FORWARDED_FOR"]))) (ako ((! isset ($ _ SERVER ["HTTP_CLIENT_IP"])) && (prazno ($ _ SERVER ["HTTP_CLIENT_IP"] ))) ($ ip = $ _SERVER ["REMOTE_ADDR"];)) return $ ip;) // dohvati funkciju zadnjih zapisa u knjizi gostiju getLastRecords ($ iLimit = 3) ($ sRecords = ""; $ aRecords = $ GLOBALS [" MySQL"] -> getAll ("SELECT * FROM `s178_guestbook` ORDER BY` id` DESC LIMIT ($ iLimit) "); forea ch ($ aZapisuje kao $ i => $ aInfo) ($ sWhen = datum ("F j, Y H: i", $ aInfo ["kada"]); $ s Zapisi. =<<

Snimi od ($ aInfo ["name"]) (($ sWhen)):

($ aInfo ["opis"])

EOF; ) vratiti $ sRecords; ) if ($ _POST) (// prihvaćanje novih zapisa $ 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) (// zaštita od neželjene pošte $ iOldId = $ GLOBALS ["MySQL"] -> getOne ("SELECT` id` FROM `s178_guestbook` WHERE` ip` = "($ sIp) "AND` when`> = UNIX_TIMESTAMP () - 600 LIMIT 1 "); if (! $ IOldId) (// dopustiti dodavanje komentara $ GLOBALS [" MySQL "] -> res (" INSERT INTO` s178_guestbook` SET `name` = "($ sName)", `e-pošta` =" ($ sEmail) ",` description` = "($ sDesc)", `kada` = UNIX_TIMESTAMP (),` ip` = "($ sIp) " ") ; // crtanje zadnjih 10 zapisa $ sOut = getLastRecords (); echo $ sOut; izlaz;)) echo 1; izlaz;) // crtanje zadnjih 10 zapisa $ sRecords = getLastRecords (); ob_start (); ?>

Zapisi u knjizi gostiju

Ovdje dodajte svoj rekord

PHP knjiga gostiju | Vodiči o skriptama

PHP knjiga gostiju

Natrag na izvorni vodič o Script Tutorials


Kada otvorimo ovu stranicu vidjet ćemo knjigu, na lijevoj strani ćemo nacrtati popis posljednja tri zapisa, desno - oblik objave novih zapisa. Prilikom slanja obrasca - skripta za slanje POST podataka (na istu php stranicu), skripta koja sprema ove podatke u bazu podataka i vraća nam listu svježih 3 zapisa. Zatim, putem efekta fedinga, crtamo vraćene podatke u lijevi stupac. Sav kod sadrži komentare - pročitajte ga za bolje razumijevanje koda. U redu, sljedeća PHP datoteka je:

klase / CMySQL.php

Ovo je moja vlastita klasa usluge za rad s bazom podataka. Ovo je lijepa klasa koju možete koristiti i vi. Detalji veze s bazom podataka nalaze se u ovoj klasi u nekoliko varijabli, sigurni da ćete to moći konfigurirati za svoju bazu podataka. Neću objavljivati ​​njegove izvore - to za sada nije potrebno. Dostupno u paketu.

Korak 3. CSS

Sada - svi korišteni CSS stilovi:

css / main.css

* (margina: 0; padding: 0;) tijelo (boja pozadine: #fff; boja: #fff; font: 14px / 1.3 Arial, sans-serif;) podnožje (boja pozadine: # 212121; dno: 0; box-shadow: 0 -1px 2px # 111111; prikaz: blok; visina: 70px; lijevo: 0; pozicija: fiksna; širina: 100%; z-indeks: 100;) podnožje h2 (veličina fonta: 22px; font- težina: normalno; lijevo: 50%; margin-left: -400px; padding: 22px 0; položaj: apsolutna; širina: 540px;) podnožje a.stuts, a.stuts: posjećeno (obrub: nema; dekoracija teksta: nema ; color: #fcfcfc; font-size: 14px; left: 50%; line-height: 31px; margin: 23px 0 0 110px; position: absolute; top: 0;) footer .stuts span (font-size: 22px; font-weight: bold; margin-left: 5px;) .container (background: transparent url (../ images / book_open.jpg) gornji centar bez ponavljanja; boja: # 000000; height: 600px; margin: 20px auto; preljev: skriven; padding: 35px 100px; položaj: relativan; širina: 600px;) # col1, # col2 (float: lijevo; margina: 0 10px; overflow: hidden; text-align: centar; širina: 280px;) # col1 (-webkit-transform: rotirati (3 stupnja); -moz-transform: rotirati (3 stupnja); -ms-transform: rotirati (3 stupnja); -o-transformirati: rotirati (3 stupnja); ) #records form (margin: 10px 0; padding: 10px; text-align: left;) #records table td.label (boja: # 000; veličina fonta: 13px; padding-right: 3px; text-align: desno ;) #tablica tablice s zapisima (veličina fonta: 12px; okomito poravnavanje: sredina;) #tablica s zapisima td.unos polja, #tablica s zapisima td.polje tekstualno područje (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;) #records table td.field input: lebdenje (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;)

Danas ću opisati, možda, najbolji zadatak za početnike u programskom jeziku PHP - Knjiga gostiju. Po mom mišljenju, ovaj zadatak je najjednostavniji, ali vam istovremeno omogućuje da naučite sve glavne značajke rada s PHP -om i MySQL bazom podataka. Osim toga, ovaj se zadatak beskonačno proširuje, što vam omogućuje usavršavanje novih tehnologija.

Opis i rješenje ovog problema bit će napisan upravo ovdje, bez provjera performansi, stoga negdje može doći do pogreške. To nije učinjeno zbog moje lijenosti, već opet zbog dodatne obuke kada ste kreirali knjigu gostiju. Također, predstavljeno rješenje bit će malo "krivo", ali o tome više na kraju ovog članka u rubrici "Samostalni rad".

Ako uopće ne znate raditi s PHP-om, onda vam prvo savjetujem da pročitate PHP post – odakle početi.

Analizirat ćemo stvaranje najprimitivnije knjige gostiju, bez dizajna i administracije. Drugim riječima, ograničit ćemo se na ulazak u knjigu, registraciju i ostavljanje poruka.
Iz samog zadatka postaje jasno da se možemo potpuno ograničiti na tri php datoteke da ispuni ovaj zadatak. Naravno, zadatak registracije se može podijeliti na dva: obrazac za registraciju i dodavanje podataka u bazu podataka, ali to nećemo učiniti. Slično razmišljanje vrijedi i za postupak komentiranja. Tako stvaramo tri datoteke: index.php, registration.php, book.php.

Po nazivima datoteka odmah možete razumjeti za što će biti odgovorni: index.php - stranica za prijavu, registracija.php - stranica za registraciju, book.php - stranica knjige gostiju.

Najjednostavnija stvar u našem slučaju je stranica za prijavu. Budući da je stranica odgovorna za unos para za prijavu i lozinku, mora imati obrazac za slanje ovih podataka na stranicu book.php. Kao i poveznica na stranicu za registraciju. Imamo:

Prijava u knjigu gostiju

Prijaviti se:
Lozinka:

registracija


Odmaknuvši se malo od teme, za one kojima se ne sviđa što znači gornji kod. Ovdje imamo goli HTML. Ključna stvar je oznaka oblik koji uzima dva parametra akcijski, koji je odgovoran za adresu stranice koja će se otvoriti nakon potvrde unosa podataka i parametar metoda, koji odgovara načinu na koji će se poslati podaci obrasca navedenu stranicu(pogledajte POST i GET jednostavnim riječima). Unutar oznake obrasca označena su polja za unos (unos, odabir) koja moraju imati atribut Ime... Vrijednošću ovog atributa bit će moguće doći do podataka koje je korisnik unio na stranici navedenoj u parametru oblici djelovanja... Unutar obrasca mora postojati unos s vrstom podnijeti, koji je u svojoj biti gumb, klikom na koji će se podaci poslati na stranicu akcije.

Nastavimo... Sada moramo napraviti novu stranicu za registraciju korisnika. Vrijedi odmah razmisliti što točno želimo imati. Odlučio sam da bi za jednostavnu knjigu gostiju bilo sasvim dovoljno imati korisnike s jedinstvenim prijavama, kao i znati adresu njihove web stranice (ako postoji). Nakon što smo odlučili što želimo znati o korisniku, tada možemo početi dizajnirati našu bazu podataka.

Idite na phpMyAdmin. Napravimo tamo bazu s imenom gb. U ovoj bazi podataka stvorite tablicu Korisnici sa sljedećim poljima:

Prijava varchar (50) jedinstven // korisničko ime, jedinstveno polje lozinke varchar (150) // www lozinka varchar (255) // adresa stranice

A kako smo već ušli u uređivač baze podataka, odmah možemo razmišljati kako ćemo pohranjivati ​​poruke. U našem slučaju, sasvim je prikladno znati tko je i kada ostavio poruku, pa i stvarni tekst naše poruke. Također, radi praktičnosti, vrijedi numerirati naše poruke. Odlučili smo se za to, tako da možemo sigurno kreirati još jednu tablicu poruka sa sljedećom strukturom:

Id int ai (auto_increment) primarni_ključ // broj poruke, brojač koji će se sam povećati mes text // tekst poruke koji varchar (50) // korisničko ime onoga koji je ostavio poruku kada je vremenska oznaka zadana (trenuta) // vrijeme ostavljanja poruke, prema zadanim postavkama je trenutni datum i vrijeme

Sa sređenom bazom podataka. Sada prijeđimo na datoteku register.php. Rezimirajući gore navedeno, imamo:

registracija

Prijaviti se:
Lozinka:
Opet lozinka:
WWW: http: //


Na glavnu

Malo o kodu. Kao što ste možda primijetili, ovdje je prisutan PHP. Obrazac više neću opisivati, ali kao što vidimo, ovdje se podaci obrasca šalju na istu stranicu na kojoj se nalazi i ovaj obrazac. Drugim riječima, datoteka registracije.php sama sebi šalje podatke. Nitko to ne zabranjuje, međutim, nije uvijek moguće koristiti ga jer uvelike kvari čitljivost koda. Međutim, s druge strane, to jasno pokazuje mogućnosti PHP jezik... U suštini, naša stranica je podijeljena u dva slučaja. Prvi slučaj je kada se podaci šalju na stranicu s POST zahtjevom, drugi kada se na stranicu ne šalje POST zahtjev. U drugom slučaju prikazat ćemo obrazac za registraciju, au prvom slučaju počet ćemo provjeravati dostavljene podatke. Kao što vidite, podaci se šalju u obliku asocijativnog niza (tj. polja čiji su indeksi nizovi). Štoviše, indeksi se podudaraju s nazivima polja za unos navedenih u obrascu za slanje podataka. Oni. ako napišemo

tada ćemo mi, prilikom slanja ovih podataka POST zahtjevom, imati varijablu

$ _POST ["vasa-peta"]

Također je vrijedno napomenuti da ne vršimo nikakve provjere za ponovnu prijavu. Ta će se provjera provesti na razini baze podataka, budući da je polje za prijavu označeno kao jedinstveno.

Sada posljednji. Ostaje napraviti samu knjigu gostiju. Malo obrazloženja. Budući da knjiga gostiju radi po loginu i lozinki, prvo što moramo učiniti je provjeriti dostupnost unesene prijave i lozinke u bazi. Budući da smo odlučili dodati i poruke u datoteku book.php, očito bi trebao slijediti postupak dodavanja poruke. Pa, na samom kraju, prikaz svih poruka. (ako dodate poruku nakon što se prikažu, dodana poruka će se prikazati tek nakon što se stranica ponovno učita). Imamo:

Knjiga gostiju ";) else (echo" Vaša poruka nije dodana!


"; } } ?>
"ime =" prijava "/> "ime =" lozinka "/>

"; echo" Text: ". $ row [" mes "]."
";)) mysql_close ($ link);?>

To je u biti sve. Ako kôd radi 100%, dobro. Ako ne, onda vam savjetujem da sami pokušate ispraviti pogreške. Sada obećani dio.

Samostalan rad
Kao što je na početku spomenuto, ovo rješenje je “krivo”. Ako još niste shvatili zašto, sad ću vam objasniti. Kao što ste možda primijetili u datoteci book.php, u obrascu za dodavanje komentara postoji nekoliko skrivenih polja, a dva od njih su korisničko ime i lozinka koje je unio korisnik. Nije dobro, zar ne? Pokušajte riješiti ovaj problem pomoću sesija (Kako raditi sa sesijama u PHP-u).
Pokušajte odgovoriti na pitanje, po čemu se funkcije razlikuju? prazan / isset i izaći / umrijeti?
Promijenite zahtjev za dohvaćanje poruka iz baze tako da se prilikom prikaza poruka prikazuje web stranica autora poruke.
Ako ste primijetili, lozinka korisnika u bazi je pohranjena u čistom tekstu, što nije baš dobro. Uredite kôd tako da hash korisničke lozinke bude pohranjen u bazi podataka (na primjer, MD5 ili SHA1).

U ovom vodiču izradit ćemo PHP knjigu gostiju koristeći AJAX. Zapisi će biti pohranjeni u bazi podataka. Tablica će sadržavati sljedeće podatke: ime pošiljatelja, adresu e-pošte, IP adresu i datum-vrijeme posljednjeg unosa. Koristit će se JQuery (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 napraviti tablicu:

STVORI TABLICU AKO NE POSTOJI `s178_guestbook` (` id` int (10) unsigned NOT NULL auto_increment, `name` varchar (255) default" ",` email` varchar (255) default "", `opis` varchar (255) zadano "", `kada` int (11) NOT NULL zadano" 0 ",` ip` varchar (20) zadano NULL, PRIMARNI KLJUČ (`id`)) ENGINE = MyISAM DEFAULT CHARSET = utf8;

Korak 2. PHP

Glavna datoteka sadržavat će sljedeći kôd:

knjiga gostiju.php

= ") == 1) error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED); else error_reporting (E_ALL & ~ E_NOTICE); require_once (" klase / CMySQL.php "); // uključujući klasu usluge za rad s bazom podataka // Get IP funkcija posjetitelja getVisitorIP () ($ ip = "0.0.0.0"; if ((isset ($ _ SERVER ["HTTP_X_FORWARDED_FOR"])) && (! Prazan ($ _ SERVER ["HTTP_X_FORWARDED_FOR"]))) ($ ip = $ _SERVER ["HTTP_X_FORWARDED_FOR"];) elseif ((isset ($ _ SERVER ["HTTP_CLIENT_IP"])) && (! Prazno ($ _ SERVER ["HTTP_CLIENT_IP"]))) ($ ip = eksplodirati ("." , $ _ SERVER [ "HTTP_CLIENT_IP"]); $ ip = $ ip. ".". $ Ip. ".". $ Ip. ".". $ Ip;) elseif ((! Isset ($ _ SERVER [" HTTP_X_FORWARDED_FOR"])) | | (prazno ($ _ SERVER ["HTTP_X_FORWARDED_FOR"]))) (ako ((! isset ($ _ SERVER ["HTTP_CLIENT_IP"])) && (prazno ($ _ SERVER ["HTTP_CLIENT_IP"] ))) ($ ip = $ _SERVER ["REMOTE_ADDR"];)) return $ ip;) // Dohvati posljednje unose u funkciji knjige gostiju getLastRecords ($ iLimit = 3) ($ sRecords = ""; $ aRecords = $ GLOBALS ["MySQL"] -> getAll ( "SELECT * FROM` s178_guestbook` ORDER BY `id` DESC L IMIT ($ iLimit) "); foreach ($ aRecords as $ i => $ aInfo) ($ sWhen = date ("F j, Y H: i", $ aInfo ["when"]); $ sRecords. =<<

($ aInfo ["opis"])

EOF; ) vratiti $ sRecords; ) if ($ _POST) (// Prihvati nove unose $ 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` WHERE` ip` = "( $ sIp) "AND` when`> = UNIX_TIMESTAMP () - 600 LIMIT 1 "); if (! $ IOldId) (// Možete dodati komentar $ GLOBALS [" MySQL "] -> res (" INSERT INTO `s178_guestbook `SET` name` =" ($ sName) ",` email` = "($ sEmail)", `description` =" ($ sDesc) ",` when` = 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

Ovdje dodajte svoju recenziju

PHP Knjiga gostiju



Kad otvorite stranicu, vidjet ćete bilježnicu. Posljednja tri unosa prikazana su s lijeve strane, a obrazac za objavljivanje nove recenzije s desne strane. Kad se obrazac pošalje, skripta šalje POST podatke (na istu PHP stranicu), zatim sprema primljene podatke u bazu podataka i vraća posljednja tri zapisa. Koristeći razvojni učinak, unosi se prikazuju na lijevoj strani knjige.

Također se koristi PHP datoteka

klase / CMySQL.php

Ova datoteka sadrži šifru klase za rad s bazom podataka. Za povezivanje s poslužiteljem potrebno je konfigurirati tri varijable.

$ this-> sDbName = "DATABASE_NAME"; $ this-> sDbUser = "IME KORISNIKA"; $ this-> sDbPass = "LOZINKA";

Korak 3. CSS

A sada oblikujmo izgled knjige gostiju:

css / main.css

* (margina: 0; padding: 0;) tijelo (boja pozadine: #fff; boja: #fff; font: 14px / 1.3 Arial, sans-serif;) podnožje (boja pozadine: # 212121; dno: 0; box-shadow: 0 -1px 2px # 111111; prikaz: blok; visina: 70px; lijevo: 0; pozicija: fiksna; širina: 100%; z-indeks: 100;) podnožje h2 (veličina fonta: 22px; font- težina: normalno; lijevo: 50%; margin-left: -400px; padding: 22px 0; položaj: apsolutna; širina: 540px;) podnožje a.stuts, a.stuts: posjećeno (obrub: nema; dekoracija teksta: nema ; color: #fcfcfc; font-size: 14px; left: 50%; line-height: 31px; margin: 23px 0 0 110px; position: absolute; top: 0;) footer .stuts span (font-size: 22px; font-weight: bold; margin-left: 5px;) .container (background: transparent url (../ images / book_open.jpg) gornji centar bez ponavljanja; boja: # 000000; height: 600px; margin: 20px auto; preljev: skriven; padding: 35px 100px; položaj: relativan; širina: 600px;) # col1, # col2 (float: lijevo; margina: 0 10px; overflow: hidden; text-align: centar; širina: 280px;) # col1 (-webkit-transform: rotirati (3 stupnja); -moz-transform: rotirati (3 stupnja); -ms-transform: rotirati (3 stupnja); -o-transformirati: rotirati (3 stupnja); ) #records form (margin: 10px 0; padding: 10px; text-align: left;) #records table td.label (boja: # 000; veličina fonta: 13px; padding-right: 3px; text-align: desno ;) #tablica tablice s zapisima (veličina fonta: 12px; okomito poravnavanje: sredina;) #tablica s zapisima td.unos polja, #tablica s zapisima td.polje tekstualno područje (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;) #records table td.field input: lebdenje (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;)