Vendégkönyv forgatókönyv írása. Hozzon létre egy vendégkönyvet Őrült vendégkönyv html

Ebben az oktatóanyagban egy vendégkönyvet készítünk PHP-ben AJAX használatával. A rekordokat az adatbázisban tároljuk. A táblázat a következő információkat tartalmazza: a feladó neve, e-mail címe, IP-címe és az utolsó bejegyzés dátuma és ideje. jQuery kerül felhasználásra (az AJAX megvalósításához). Egy egyszerű spam elleni védelem is megvalósul – 10 percenként legfeljebb egy bejegyzést tehet közzé.

1. lépés: SQL

Ahhoz, hogy alkalmazásunk működjön, létre kell hoznunk egy táblázatot:

TÁBLÁZAT LÉTEZÉSE, HA NEM LÉTEZ `s178_vendégkönyv` (`id` int(10) unsigned NOT NULL auto_increment, `name` varchar(255) default "", `email` varchar(255) default "", `description` varchar(255) alapértelmezett "", `when` int(11) NOT NULL alapértelmezett "0", `ip` varchar(20) alapértelmezett NULL, ELSŐDLEGES KULCS (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. lépés PHP

A fő fájl a következő kódot tartalmazza:

vendégkönyv.php

=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); else error_reporting(E_ALL & ~E_NOTICE); request_once("classes/CMySQL.php"); // beleértve a szolgáltatásosztályt az adatbázissal való együttműködéshez // Letöltés Látogatói IP függvény getVisitorIP() ( $ip = "0.0.0.0"; if((isset($_SERVER["HTTP_X_FORWARDED_FOR"])) && (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))) ( $ip = $ _SZERVER["HTTP_X_FORWARDED_FOR"]; ) elseif((isset($_SERVER["HTTP_CLIENT_IP"])) && (!empty($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = explode(".",$_SZERVER[ "HTTP_CLIENT_IP"]); $ip = $ip.".".$ip.".".$ip.".".$ip; ) elseif((!isset($_SERVER["HTTP_X_FORWARDED_FOR"])) | | (empty($_SERVER["HTTP_X_FORWARDED_FOR"]))) ( if ((!isset($_SERVER["HTTP_CLIENT_IP"])) && (empty($_SERVER["HTTP_CLIENT_IP"]))) ( $ip = $_SERVER ["REMOTE_ADDR"]; ) ) return $ip; ) // A vendégkönyv legfrissebb bejegyzéseinek lekérése getLastRecords($iLimit = 3) ( $sRecords = ""; $aRecords = $GLOBALS["MySQL"]->getAll ( "SELECT * FROM `s178_vendégkönyv" ORDER BY `id` DESC L IMIT($iLimit)"); foreach ($aRecords mint $i => $aInfo) ( $sWhen = dátum("F j, Y H:i", $aInfo["when"]); $sRecords .=<<

($aInfo["leírás"])

EOF; ) return $sRecords; ) if ($_POST) ( // Új rekordok elfogadása $sIp = getVisitorIP(); $sName = $GLOBALS["MySQL"]->escape(strip_tags($_POST["név"])); $sEmail = $GLOBALS ["MySQL"]->escape(csík_címkék($_POST["név"])); $sDesc = $GLOBALS["MySQL"]->escape(csík_címkék($_POST["szöveg"])); if ($ sName && $sEmail && $sDesc && $sIp) ( // Anti-spam $iOldId = $GLOBALS["MySQL"]->getOne("SELECT `id` FROM `s178_guestbook` WHERE `ip` = "($sIp) " ÉS `when` >= UNIX_TIMESTAMP() - 600 LIMIT 1"); if (! $iOldId) ( // Megjegyzéseket adhat hozzá $GLOBALS["MySQL"]->res("INSERT INTO `s178_guestbook` SET `name ` = "($sName)", `email` = "($sEmail)", `description` = "($sDesc)", `when` = UNIX_TIMESTAMP(), `ip` = "($sIp)"" ) ; // Az utolsó 10 rekord kinyomtatása $sOut = getLastRecords(); echo $sOut; kilépés; ) ) echo 1; exit; ) // Az utolsó 10 rekord kinyomtatása $sRecords = getLastRecords(); ob_start(); ?>

Vendégkönyv

Adja hozzá véleményét itt

Vendégkönyv PHP nyelven

Amikor megnyitja az oldalt, megjelenik egy jegyzetfüzet. A bal oldalon az utolsó három bejegyzés, a jobb oldalon pedig egy új vélemény közzétételére szolgáló űrlap látható. Az űrlap beküldésekor a szkript elküldi a POST adatokat (ugyanarra a PHP oldalra), majd a kapott adatokat elmenti az adatbázisba és visszaadja az utolsó három rekordot. A fade hatás használatával a bejegyzések a könyv bal oldalán jelennek meg.

PHP fájl használata is

osztályok/CMySQL.php

Ez a fájl tartalmazza az adatbázissal való munkához szükséges osztálykódot. A szerverhez való csatlakozáshoz három változót kell beállítania.

$this->sDbName = "ADATBÁZISNÉV"; $this->sDbUser = "FELHASZNÁLÓNÉV"; $this->sDbPass = "JELSZÓ";

3. lépés CSS

És most kialakítjuk a vendégkönyv megjelenését:

css/main.css

*( margó:0; padding:0; ) törzs ( háttérszín:#fff; szín:#fff; font:14px/1.3 Arial,sans-serif; ) lábléc ( háttérszín:#212121; alsó:0; box-shadow: 0 -1px 2px #111111; kijelző:blokk; magasság:70px; bal:0; pozíció:fix; szélesség:100%; z-index:100; ) lábléc h2(betűméret:22px; font- súly: normál; bal: 50%; margó bal: -400 képpont; kitöltés: 22 képpont 0; pozíció: abszolút; szélesség: 540 képpont; ) lábléc a.stuts,a.stuts:visited( border:none; text-decoration:none ; szín:#fcfcfc; betűméret:14px; bal:50%; vonalmagasság:31px; margó:23px 0 0 110px; pozíció:abszolút; felső:0; ) lábléc .stuts span (betűméret:22px; font-weight:bold; margin-left:5px; ) .container ( háttér: átlátszó url(../images/book_open.jpg) nem ismétlődik felül középen ; szín: #000000; magasság: 600px; margó: 20px auto; túlcsordulás: rejtett; kitöltés: 35px 100px; pozíció: relatív; szélesség: 600px; ) #col1, #col2 ( lebegés: balra; margó: 0 10px; túlcsordulás: rejtett; szövegigazítás: középre; szélesség: 280px; ) #col1 ( -webkit-transzformáció: forgatás(3 fok); -moz-transzformáció: forgatás(3 fok); -ms-transzformáció: forgatás (3 fok); -o-transzformáció: forgatás (3 fok); ) #records form ( margó:10px 0; kitöltés:10px; text-align:left; ) #records table td.label ( szín: #000; font-size: 13px; padding-right: 3px; text-align: right ; ) #rekordtábla címke (betűméret: 12px; függőleges igazítás: középső; ) #rekordtábla td.mező bevitel, #rekordtábla td.mező szövegterület ( háttérszín: rgba(255, 255, 255, 0.4) ; szegély: 0px tömör #96A6C5; betűcsalád: Verdana,Arial,sans-serif; betűméret: 13px; felső margó: 2px; kitöltés: 6px; szélesség: 190px; ) #records table td.field input (háttér) -szín: rgba(200, 200, 200, 0.4); kurzor: pointer; float:jobbra; szélesség: 100px; ) #records table td.field input:hover ( háttérszín: rgba(200, 200, 200, 0.8 ); ) #records_list ( text-align:left; ) #records_list .record ( szegély teteje: 1px solid #000000; betűméret: 13px; kitöltés: 10px; ) #rekordok_lista .record:first-child ( border-top -width:0px; ) #records_list .record p:first-child ( font-weight:bold; font-size:11px; )

PHP 5.2 és újabb;
- mod_rewrite;
- Adatbázis MySQL 4.1 és újabb.

Lehetőségek

Bármely webhely alá beágyaz (ehhez csak a top.php és a bottom.php fájlokat kell szerkesztenie);
- árvíz elleni küzdelem;
- tiltólista;
- oldal navigációs nézet<< < ...| 5 | 6 | 7 ... > >>;
- BBCode támogatás;
- hangulatjelek megjelenítése;
- értesítés az új hozzáadott üzenetekről;
- üzenetek hozzáadásának lehetősége moderálás céljából;
- Adminisztrációs Panel;
- Könnyen telepíthető és beállítható.

Telepítés

Csomagolja ki az archívumot, és másolja át az archívum tartalmát a webszerver bármely mappájába (pl. "vendégkönyv"). Nyissa meg a config/config_db.php fájlt egy szövegszerkesztőben, és adja meg a kapcsolat beállításait (adatbázis gazdagép vagy IP, adatbázis neve, bejelentkezési név és jelszó). Helyezze el a MySQL adatbázistáblák SQL lekérdezését a guestbook.sql fájlból. általában a legtöbb tárhelyen ez a webes felületen keresztül történik a phpMyAdmin segítségével. Lépjen az adminisztrációs panelre (http://your_site/folder_with_script/admin/), és írja be a jelszót 1111. Ezután adja meg a szükséges beállításokat.

Kereskedelmi verzió

A megrendelő kérésére a forgatókönyvet az adott körülményekhez igazítom. Különféle kiegészítő funkciókat lehet hozzáadni.

jegyzet

"PHP Vendégkönyv" SZkript, EZÉRT CSAK A PROGRAM TELJESEN INGYENES. A PROGRAM FORRÁSKÓDJÁBAN SZABAD TERJESZTÉSE, MÁSOLÁSA, VÁLTOZTATÁSA KIZÁRÓLAG A SZERZŐ SZERZŐI JOGI FELTÉTELÉVEL TÖRTÉNŐ. A „PHP Vendégkönyv” PROGRAM KERESKEDELMI CÉLRA HASZNÁLATA TILOS. A PROGRAM HASZNÁLATA SAJÁT FELELŐSSÉGÉRE TÖRTÉNIK. A SZERZŐ NEM VÁLLAL FELELŐSSÉGET A PROGRAM TELJESÍTÉSÉÉRT, VALAMINT A PROGRAM HASZNÁLATÁVAL ÉS MŰKÖDÉSÉVEL KAPCSOLATOS ELVESZTÉSÉRT, AZ ADATOK SÉRÜLÉSÉÉRT.

Ha tetszett a forgatókönyvem, és szeretnél egy rubelt megköszönni, akkor itt vannak az adataim:

WebMoney
U237811811298
R198597198920
Z917380288657

Yandex pénz
41001635943434

PayPal

Ha bármilyen kérdése vagy javaslata van, írjon nekem a következő címre: Ez az e-mail cím a spamrobotok elleni védelem alatt áll. A megtekintéséhez engedélyeznie kell a JavaScriptet.

» DRBVendégkönyv

A DRBGuestbook egy ingyenes, egyszerű PHP szkript, amely nem igényel MySql adatbázist. Ennek ellenére egy jelszóval védett adminisztrációs panelen keresztül kezelheti a programot, törölheti az üzeneteket, hagyhatja jóvá az üzeneteket, tilthatja le a felhasználókat IP cím alapján. A szkript tartalmaz spamellenes ellenőrzéseket is, például képellenőrzést, URL-blokkolást és a könyv összes üzenetének moderálását. A funkciót beállíthatja úgy, hogy minden alkalommal, amikor valaki üzenetet hagy, e-mailben kapjon értesítést.

A forgatókönyv előnyei

  • Gyors és egyszerű telepítés.
  • Nem igényel MySQL adatbázist. Minden üzenet egy fájlban van tárolva.
  • Egyszerre több üzenetet is törölhet.
  • Anti-spam ellenőrzést tartalmaz.
  • Az IP-címet letilthatja, hogy ne hagyjon üzenetet.
  • Támogatja a bejegyzések moderálását, így csak a jóváhagyott bejegyzések jelennek meg.
  • Értesíts e-mailben minden alkalommal, amikor valaki feliratkozik a vendégkönyvedre.
  • Az üzenet ellenőrzése: a "tiltottak" (kárszavak) listája közzétételre.
  • Árvíz elleni funkció. Hogy a felhasználók ne posztoljanak ilyen gyakran.
  • A szkript megakadályozza a HTML-kódok vagy hivatkozások (URL) közzétételét az üzenet törzsében, levélszemét-ellenes óvintézkedésként.
  • A minimális és maximális betűk beállítása egy üzenetben.
  • A szkript könnyen konfigurálható: hibaüzenetek, figyelmeztetések, dátum és idő.
  • A dátum és az időzóna könnyen konfigurálható.
  • A generált oldalak XHTML szintaxist tartalmaznak, és jól működnek IE és Firefox böngészőkben.
  • Jelentkezzen be az adminisztrációs panelre a webes felületen keresztül.

Rendszerkövetelmények

  • PHP 4.4 vagy újabb verzió
  • GD könyvtár
  • Apache HTTP szerver .htaccess fájllal, Engedélyezett felülbírálás funkcióval (ajánlott)
  • Linux, Windows, Unix, Mac OSX, Sun Solaris, IIS

» » GBook

Ez a PHP-szkript segít a vendégkönyv funkció megvalósításában a webhelyén. MySQL-adatbázis használata nélkül nincs rá szükség a szkript működéséhez. A Gbook szkript számos hatékony SPAM szűrőt tartalmaz. És a levelek védelme a SPAM-ek ellen.

A szkriptben 2 txt fájl található - header.txt és footer.txt. Ezen fájlok segítségével reklámblokkokat vagy pultokat adhat hozzá vendégkönyvéhez. A sablon teljes megváltoztatása a webhely stílusához igazodva szintén nem okoz különösebb nehézséget. A Gbook program a világ bármely nyelvére lefordítható. Csak módosítsa a szavakat egy fájlnyelven.

A forgatókönyv előnyei

  • Emoticon támogatás.
  • Nem igényel MySQL adatbázist. Minden üzenet egy fájlban van tárolva.
  • Az adminisztrátor értesítése levélben, új üzenetről a Vendégkönyvben.
  • 2 db levélszemét-ellenőrzést tartalmaz.
  • Az IP-címet letilthatja, hogy ne hagyjon üzenetet.
  • Értesíts e-mailben minden alkalommal, amikor valaki feliratkozik a vendégkönyvedre.
  • Az üzenet ellenőrzése: a "tiltott" (cenzúrázatlan) szavak listája közzétételre. Borító ****
  • Árvíz elleni funkció. Hogy a felhasználók ne posztoljanak ilyen gyakran.
  • Privát üzenetek.

A vendégkönyv nagyszerű módja lehet webhelyének látogatóinak, hogy állandó benyomást keltsenek a webhelyen való jelenlétükről anélkül, hogy túlságosan tolakodóak lennének. Mielőtt elkezdené gondolkodni a vendégkönyv HTML-forrásán, el kell döntenie, hogyan folyjon, és hogyan nézzen ki. Ebben az esetben egy vendégkönyvet fogunk megnézni, amely tetején egy űrlapot helyez el a felhasználók aláírására. Ez alatt lesz egy lista az olvasók által közzétett összes megjegyzésről.

A HTML-forráskód

Vendégkönyvünk HTML-forrása egy webes űrlapból és a DIV konténerek listájából fog állni, amelyek az aláírt megjegyzések képernyőjét tartalmazzák. A kódnak az űrlapot kezelő része ilyen egyszerű.

Kérjük, írja alá Vendégkönyvünkbe

Közvetlenül az űrlap alatt helyezzük el a többi felhasználó megjegyzéseit, akik már aláírták a vendégkönyvet, és az ezt kezelő HTML valahogy így néz ki.

Nagyon tetszik az oldalad, gyakran visszajövök!!

Nagyszerű élmény volt itt eltölteni az időt, szívesen hozzájárulnék még!!

Wilbur jobbra

Nagyszerű, hogy részese lehetek annak, amit itt csináltok!!

Adam Adeve

Minden jót és sikert kívánok a projekthez!

Tony Scott

További jó munkát!!

Ennek a két HTML-kódrészletnek a Vendégkönyv weboldalán való elhelyezésének hatásai a fenti bal oldalon látható képen láthatók.

Hogy mindez működjön

A HTML-nél szokás szerint önmagában nem túlságosan funkcionális, mivel a HTML-t elsősorban a szövegek és képek megjelenítésének kezelésére tervezték. A probléma megoldásához valamilyen szerveroldali kódot kell implementálnunk a vendégkönyv űrlap által gyűjtött adatok feldolgozásához. Ez a szerveroldali kód lehet a számos programozási nyelv bármelyikén, például PHP, ASP .NET, JSP vagy Ruby. Mivel a programozás ezeken a nyelveken kívül esik ennek a cikknek a hatókörén, általános, "pszeudo" kódot fogok használni a szerveroldali kód megjelenítésére, és képet adok arról, hogyan nézhet ki.

csatlakozni az adatbázishoz

if (űrlap beküldve)(

adatok beszúrása az adatbázisba ()

Olvassa el az összes vendégkönyv bejegyzést az adatbázisból, és rendezze dátum szerint csökkenő sorrendben

while(adatbázisbejegyzések léteznek)(

// a teljes tartalmat jeleníti meg ebben a formátumban

nyomtatás: "

$teljesnév$
$date$

$üzenet$

."

szoros kapcsolat az adatbázissal

A fenti pszeudokód egyszerűen kapcsolatot létesít az adatbázissal, ahol az adatokat tárolják. Ezután ellenőrzi, hogy a vendégkönyv űrlapot elküldték-e. Ha igen, akkor beírja az adatokat az adatbázisba.

A pszeudokód következő lépése az, hogy beolvassa az adatbázisból az összes vendégkönyv-bejegyzést, és közvetlenül a webes űrlap alatt megjeleníti a felhasználónak, így a fenti képen látható eredményt kapja.

Következtetés

Tessék, itt van. A vendégkönyv HTML-forrása nem lesz ennél egyszerűbb. A vendégkönyvek az egyik legegyszerűbb és legalapvetőbb dinamikus oldal, amelyet valaha is implementál a webhelyén. A vendégkönyv természetesen tovább formálható, és bonyolultabb működési módokat és adatellenőrzést is lehet és kell használni, hogy illeszkedjen a weboldal áramlásához. Bármelyik módot választja is a vendégkönyv megvalósítására, az álkódban leírt alapok ugyanazok maradnak.

Teljes név:
Email cím
üzenet: