Հյուրերի գրքի սցենար գրելը: Ստեղծեք հյուրերի գիրք Crazy guestbook html

Այս ձեռնարկում մենք կստեղծենք հյուրերի գիրք PHP-ում՝ օգտագործելով AJAX: Գրառումները կպահվեն տվյալների բազայում: Աղյուսակը կպարունակի հետևյալ տեղեկությունները` ուղարկողի անունը, էլ. փոստի հասցեն, IP հասցեն և վերջին մուտքի ամսաթիվը: jQuery-ն կօգտագործվի (AJAX-ն իրականացնելու համար): Կիրականացվի նաև սպամից պարզ պաշտպանություն՝ յուրաքանչյուր 10 րոպեն մեկ կարող եք տեղադրել ոչ ավելի, քան մեկ գրառում:

Քայլ 1: SQL

Որպեսզի մեր հավելվածն աշխատի, մենք պետք է ստեղծենք աղյուսակ.

ՍՏԵՂԾԵՔ ԱՂՅՈՒՍԱԿ, ԵԹԵ ՉԿԱ «s178_guestbook» («id» int(10) unsigned NOT NULL auto_increment, «name» varchar(255) default «», «email» varchar(255) default «», «description» varchar(255) լռելյայն "", `երբ` int(11) NOT NULL default "0", `ip` varchar(20) default NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Քայլ 2 PHP

Հիմնական ֆայլը կպարունակի հետևյալ կոդը.

հյուրերի գիրք.php

=") == 1) error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED); other error_reporting (E_ALL & ~E_NOTICE); require_once ("classes/CMySQL.php"); // ներառյալ ծառայության դասը տվյալների բազայի հետ աշխատելու համար // Ստանալ Այցելուների IP ֆունկցիան getVisitorIP() ($ip = «0.0.0.0», if((isset($_SERVER[«HTTP_X_FORWARDED_FOR»])) && (!դատարկ($_SERVER[«HTTP_X_FORWARDED_FOR»]))) ($ip = $ _SERVER["HTTP_X_FORWARDED_FOR"]; ) elseif((isset($_SERVER["HTTP_CLIENT_IP"])) && (!empty($_SERVER["HTTP_CLIENT_IP"]))) ($ip = պայթել("",$_SERVER[ «HTTP_CLIENT_IP»]);$ip = $ip.".".$ip.".".$ip.".".$ip; ) elseif((!isset($_SERVER["HTTP_X_FORWARDED_FOR"])) | | (դատարկ($_SERVER["HTTP_X_FORWARDED_FOR"]))) (եթե ((!isset($_SERVER["HTTP_CLIENT_IP"])) && (դատարկ($_SERVER["HTTP_CLIENT_IP"]))) ($ip = $_SERVER ["REMOTE_ADDR"]; ) ) վերադարձնել $ip;) // Ստացեք վերջին գրառումները հյուրերի գրքի ֆունկցիայի 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 = ամսաթիվ ("F j, Y H:i", $aInfo["երբ"]); $sRecords .=<<

($aInfo [«նկարագրություն»])

EOF; ) վերադարձնել $sRecords; ) if ($_POST) ( // Ընդունել նոր գրառումներ $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"])), եթե ($ 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) ( // Դուք կարող եք ավելացնել մեկնաբանություններ $GLOBALS["MySQL"]->res("INSERT INTO `s178_guestbook` SET "name" ` = "($sName)", `email` = "($sEmail)", "description" = "($sDesc)", "երբ" = UNIX_TIMESTAMP(), `ip` = "($sIp)"" ) ; // Տպել վերջին 10 գրառումները $sOut = getLastRecords(); echo $sOut; exit; ) ) echo 1; exit; ) // Տպել վերջին 10 գրառումները $sRecords = getLastRecords(); ob_start (); ?>

Հյուրերի գիրք

Ավելացրեք ձեր կարծիքն այստեղ

Հյուրատետր PHP-ում

Երբ բացեք էջը, կտեսնեք նոթատետր: Ձախ կողմում ցուցադրվում են վերջին երեք գրառումները, իսկ աջում՝ նոր ակնարկ տեղադրելու ձևը: Երբ ձևը ներկայացվում է, սկրիպտը ուղարկում է POST տվյալները (նույն PHP էջին), այնուհետև ստացված տվյալները պահպանում է տվյալների բազայում և վերադարձնում վերջին երեք գրառումները։ Օգտագործելով fade էֆեկտը, գրառումները ցուցադրվում են գրքի ձախ կողմում:

Օգտագործելով նաև PHP ֆայլ

դասեր/CMySQL.php

Այս ֆայլը պարունակում է տվյալների բազայի հետ աշխատելու դասի կոդը: Այն պահանջում է, որ դուք կարգավորեք երեք փոփոխական՝ սերվերին միանալու համար:

$this->sDbName = "DATABASE_NAME"; $this->sDbUser = "Օգտվողի ԱՆՈՒՆ"; $this->sDbPass = "գաղտնաբառ";

Քայլ 3CSS

Եվ հիմա մենք ձևավորելու ենք հյուրերի գրքի տեսքը.

css/main.css

*( margin:0; padding:0; ) body ( background-color:#fff; color:#fff; font:14px/1.3 Arial,sans-serif; ) footer (back-color:#212121; bottom:0; տուփ-ստվեր՝ 0 -1px 2px #111111; ցուցադրում:block; բարձրություն:70px; ձախ:0; դիրքը:ֆիքսված; լայնությունը:100%; z-index:100; քաշ՝ նորմալ; ձախ՝ 50%, լուսանցք՝ ձախ՝ -400 px; լիցք՝ 22 px 0; դիրք՝ բացարձակ; լայնություն՝ 540 px; գույնը՝#fcfcfc; տառաչափը՝ 14px; ձախը՝ 50%, տողի բարձրությունը՝ 31px; լուսանցքը՝ 23px 0 0 110px; դիրքը՝ բացարձակ; վերև՝ 0; ) ստորագիր .stuts span ( տառաչափը՝ 22px; font-weight:bold; margin-left:5px;) .container (ֆոն՝ թափանցիկ url(../images/book_open.jpg) վերևի կենտրոնում առանց կրկնության; գույնը՝ #000000; բարձրությունը՝ 600px; լուսանցք՝ 20px ավտոմատ; վարարում. թաքնված; լիցքավորում՝ 35px 100px; դիրքը՝ հարաբերական; լայնություն՝ 600px; (-webkit-transform. rotate(3deg); -moz-փոխակերպում. պտտել (3 աստիճան); -ms-փոխակերպում. պտտել (3 աստիճան); -o-փոխակերպում. պտտել (3 աստիճան); ) #գրառումների ձև ( լուսանցք՝ 10px ; լիցքավորում՝ 10px; տեքստային հավասարեցում ՝ ձախ; ) #գրառումների աղյուսակ td.label ( գույնը՝ #000; տառաչափը՝ 13px; ներդիր՝ աջ՝ 3px; տեքստի հավասարեցում ՝ աջ ; եզրագիծ՝ 0px կոշտ #96A6C5; տառատեսակի ընտանիք՝ Verdana,Arial,sans-serif; տառաչափ՝ 13px; լուսանցք՝ 2px; լիցք՝ 6px; լայնություն՝ 190px; ) #գրառումների աղյուսակ td.դաշտի մուտքագրում ( ֆոն -գույնը՝ rgba(200, 200, 200, 0.4); կուրսորը՝ ցուցիչ; float:աջ; լայնությունը՝ 100px; ); ) #գրառումների_ցուցակ ( 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 ( տառատեսակի քաշը:bold; font-size:11px; )

PHP 5.2 և ավելի բարձր;
- mod_rewrite;
- MySQL 4.1 և ավելի բարձր տվյալների բազա:

հնարավորություններ

Տեղադրվում է ցանկացած կայքի տակ (դրա համար պարզապես անհրաժեշտ է խմբագրել top.php և bottom.php ֆայլերը);
- հակաջրհեղեղ;
- արգելքի ցուցակ;
- էջի նավիգացիայի դիտում<< < ...| 5 | 6 | 7 ... > >>;
- BBCode-ի աջակցություն;
- ցուցադրել էմոցիաներ;
- նոր ավելացված հաղորդագրությունների ծանուցում;
- մոդերատորության համար հաղորդագրություններ ավելացնելու ունակություն.
- ադմինիստրատորի վահանակ;
- Հեշտ է տեղադրել և կարգավորել:

Տեղադրում

Անջատեք արխիվը և պատճենեք արխիվի բովանդակությունը ձեր վեբ սերվերի ցանկացած թղթապանակում (օրինակ՝ «հյուրերի գիրք»): Բացեք config/config_db.php ֆայլը տեքստային խմբագրիչում և նշեք կապի կարգավորումները (տվյալների բազայի հոսթ կամ IP, տվյալների բազայի անվանում, մուտք և գաղտնաբառ): Տեղադրեք MySQL տվյալների բազայի աղյուսակներ SQL հարցումը guestbook.sql ֆայլից: սովորաբար հոսթինգների մեծ մասում դա արվում է վեբ ինտերֆեյսի միջոցով phpMyAdmin-ի միջոցով: Գնացեք կառավարման վահանակ (http://your_site/folder_with_script/admin/) և մուտքագրեք գաղտնաբառը 1111: Այնուհետև նշեք անհրաժեշտ կարգավորումները:

Կոմերցիոն տարբերակ

Հաճախորդի խնդրանքով ես կարող եմ սցենարը հարմարեցնել կոնկրետ պայմաններին: Տարբեր լրացուցիչ հնարավորություններ կարող են ավելացվել:

Նշում

«PHP Հյուրատետր» ՍԿՐԻՊՏ, ՈՒՐԵՎ ՀԱՍՏԱՏՎԱԾ ԾՐԱԳԻՐԸ ԲՈԼՈՐՈՎ ԱՆՎՃԱՐ է: ԴՈՒՔ ԿԱՐՈՂ ԵՔ ԱԶԱՏ ՏԱՐԱԾԵԼ, ՊԱՏՃԱՌԵԼ, ԿԱՏԱՐԵԼ ՁԵՐ ՓՈՓՈԽՈՒԹՅՈՒՆՆԵՐԸ ԾՐԱԳՐԻ ԱՂԲՅՈՒՐԱԿԱՆ ԿՈԴՐԱԳՐՈՒՄ, ՄԻԱՅՆ ՀԵՂԻՆԱԿԻ ՀԵՂԻՆԱԿԱՅԻՆ ԻՐԱՎՈՒՆՔԻ ՊԱՅՄԱՆՈՒՄ: «PHP Guestbook» ԾՐԱԳՐԻ ՕԳՏԱԳՈՐԾՈՒՄԸ ԱՌԵՎՏՐԱՅԻՆ ՆՊԱՏԱԿՆԵՐՈՎ ԱՐԳԵԼՎՈՒՄ Է: ԱՅՍ ԾՐԱԳՐԻ ՁԵՐ ՕԳՏԱԳՈՐԾՈՒՄԸ ՁԵՐ ՍԵՓԱԿԱՆ ՌԻՍՏԻԿՈՎ Է: ՀԵՂԻՆԱԿԸ ՊԱՏԱՍԽԱՆԱՏՎՈՒՄ Է ԾՐԱԳՐԻ ԿԱՏԱՐՄԱՆ, ԻՆՉՊԵՍ ՆԱԵՎ ԱՅՍ ԾՐԱԳՐԻ ՕԳՏԱԳՈՐԾՄԱՆ ԵՎ ԳՈՐԾՄԱՆ ՀԵՏ ԿՈՐՈՒՍՏԻ, ՏՎՅԱԼՆԵՐԻ ՎՆԱՍԻ ՀԱՄԱՐ:

Եթե ​​ձեզ դուր եկավ իմ սցենարը և ցանկություն ունեք շնորհակալություն հայտնել ինձ ռուբլով, ապա ահա իմ մանրամասները.

WebMoney
U237811811298
R198597198920
Z917380288657

Yandex փող
41001635943434

PayPal

Եթե ​​ունեք հարցեր կամ առաջարկություններ, գրեք ինձ հետևյալ հասցեով. Այս էլ. փոստի հասցեն պաշտպանված է սպամ-բոթերից: Դիտելու համար պետք է միացված լինի JavaScript-ը:

» DRB Հյուրատետր

DRBGuestbook-ը անվճար, պարզ PHP սկրիպտ է, որը չի պահանջում MySql տվյալների բազա: Չնայած դրան, դուք կարող եք կառավարել ծրագիրը, ջնջել հաղորդագրությունները, հաստատել հաղորդագրությունները, արգելել օգտատերերին IP հասցեով, գաղտնաբառով պաշտպանված ադմինիստրատորի վահանակի միջոցով: Սցենարը ներառում է նաև հակասպամի ստուգումներ, ինչպիսիք են պատկերի ստուգումը, URL-ի արգելափակումը և գրքի բոլոր հաղորդագրությունների մոդերատորությունը: Դուք կարող եք հնարավորություն սահմանել այնպես, որ ամեն անգամ, երբ ինչ-որ մեկը հաղորդագրություն է թողնում, դուք ծանուցում կստանաք էլեկտրոնային փոստով:

Սցենարի առավելությունները

  • Արագ և հեշտ տեղադրում:
  • Չի պահանջում MySQL տվյալների բազա: Բոլոր հաղորդագրությունները պահվում են ֆայլում:
  • Դուք կարող եք միանգամից մի քանի հաղորդագրություն ջնջել:
  • Պարունակում է հակասպամի ստուգում:
  • Դուք կարող եք արգելել IP հասցեն, որպեսզի չթողնեք հաղորդագրություններ:
  • Աջակցում է գրառումների մոդերատորին, որպեսզի հրապարակվեն միայն հաստատված գրառումները:
  • Ստացեք ծանուցում էլփոստով ամեն անգամ, երբ ինչ-որ մեկը բաժանորդագրվում է ձեր հյուրերի գրքին:
  • Հաղորդագրության ստուգում. հրապարակման համար «արգելվածների» (հայհոյանքների) ցուցակ:
  • Հակահեղեղային ֆունկցիա: Որպեսզի օգտատերերն այդքան հաճախ հրապարակումներ չանեն:
  • Սկրիպտը կանխում է HTML կոդերի կամ հղումների (URL) հրապարակումը հաղորդագրության մարմնում՝ որպես հակասպամ կանխարգելիչ միջոց:
  • Մեկ հաղորդագրության մեջ նվազագույն և առավելագույն տառերի սահմանում:
  • Սցենարը հեշտությամբ կարելի է կարգավորել՝ սխալի հաղորդագրություններ, նախազգուշացումներ, ամսաթիվ և ժամ:
  • Ամսաթիվը և ժամային գոտին հեշտությամբ կարգավորելի են:
  • Ստեղծված էջերը պարունակում են XHTML շարահյուսություն և լավ են աշխատում IE և Firefox բրաուզերներում:
  • Մուտք գործեք ադմինիստրատորի վահանակ վեբ ինտերֆեյսի միջոցով:

Համակարգի պահանջները

  • PHP տարբերակը 4.4 կամ ավելի բարձր
  • GD գրադարան
  • Apache HTTP սերվեր .htaccess ֆայլով Override Allowed հատկությամբ (խորհուրդ է տրվում)
  • Linux, Windows, Unix, Mac OSX, Sun Solaris, IIS

» » GBook

Այս PHP սկրիպտը կօգնի ձեզ իրականացնել հյուրերի գրքի հնարավորությունը ձեր կայքում: Առանց MySQL տվյալների շտեմարան օգտագործելու, այն անհրաժեշտ չէ սցենարի աշխատանքի համար: Gbook սկրիպտը ներառում է բազմաթիվ հզոր SPAM զտիչներ: Եվ նաև փոստի պաշտպանություն SPAM-ներից:

Սկրիպտում կա 2 txt ֆայլ՝ header.txt և footer.txt: Այս ֆայլերի օգնությամբ դուք կարող եք գովազդային բլոկներ կամ հաշվիչներ ավելացնել ձեր հյուրերի գրքում: Ձեր կայքի ոճին համապատասխան կաղապարի ամբողջական փոփոխությունը նույնպես մեծ դժվարություն չի առաջացնի։ Gbook ծրագիրը կարող է թարգմանվել աշխարհի ցանկացած լեզվով: Պարզապես փոխեք բառերը մեկ ֆայլի լեզվով:

Սցենարի առավելությունները

  • Emoticon աջակցություն:
  • Չի պահանջում MySQL տվյալների բազա: Բոլոր հաղորդագրությունները պահվում են ֆայլում:
  • Ադմինիստրատորի ծանուցում փոստով, Հյուրատետրում նոր հաղորդագրության մասին:
  • Պարունակում է 2 հակասպամի ստուգում:
  • Դուք կարող եք արգելել IP հասցեն, որպեսզի չթողնեք հաղորդագրություններ:
  • Ստացեք ծանուցում էլփոստով ամեն անգամ, երբ ինչ-որ մեկը բաժանորդագրվում է ձեր հյուրերի գրքին:
  • Հաղորդագրության ստուգում. հրապարակման համար «արգելված» (չգրաքննված) բառերի ցանկ: Կազմ ****
  • Հակահեղեղային ֆունկցիա: Որպեսզի օգտատերերն այդքան հաճախ հրապարակումներ չանեն:
  • Անձնական հաղորդագրություններ.

Հյուրերի գիրքը կարող է հիանալի միջոց լինել ձեր կայքի այցելուների համար՝ մշտական ​​տպավորություն թողնելու ձեր կայքում իրենց ներկայության վրա՝ առանց չափազանց աներես լինելու: Նախքան սկսեք մտածել հյուրերի գրքի HTML աղբյուրի մասին, դուք պետք է որոշեք, թե ինչպես եք ուզում այն ​​հոսել և ինչպես եք ուզում այն ​​տեսք ունենալ: Այս դեպքում մենք կանդրադառնանք հյուրերի գրքին, որը վերևում տեղադրում է օգտատերերի ստորագրման ձևը: Դրանից ներքևում կլինի ընթերցողների կողմից հրապարակված բոլոր մեկնաբանությունների ցանկը:

HTML աղբյուրի կոդը

Մեր հյուրերի գրքի HTML աղբյուրը բաղկացած կլինի վեբ ձևից և DIV բեռնարկղերի ցանկից, որտեղ ցուցադրվում են ստորագրված մեկնաբանությունները: Կոդի այն մասը, որը կմշակի ձևը, սա պարզ է:

Խնդրում ենք ստորագրել մեր հյուրերի գրքում

Անմիջապես ձևաթղթի տակ մենք կտեղադրենք մեկնաբանությունները այլ օգտատերերի համար, ովքեր արդեն ստորագրել են հյուրերի գրքում, և որ HTML-ը, որը մշակում է դա, ինչ-որ չափով այսպիսի տեսք ունի:

Սիրիր քո կայքը, ես հաճախ կվերադառնամ!!

Այստեղ ժամանակ անցկացնելը հիանալի փորձ էր, կցանկանայի ավելի շատ ներդրում ունենալ:

Ուիլբուր Աջ

Հիանալի է լինել այն ամենի մի մասը, ինչ դուք անում եք այստեղ!!

Ադամ Ադև

Մաղթում եմ ձեզ ամենայն բարիք և հաջողություն ձեր նախագծում:

Թոնի Սքոթ

Շարունակեք լավ աշխատանքը!!

Այս երկու կտոր HTML կոդի տեղադրման ազդեցությունը ձեր Հյուրատետրում վեբ էջում կլինի այնպես, ինչպես ցույց է տրված վերևում ձախ կողմում գտնվող նկարում:

Այն ամենն աշխատեցնելը

Ինչպես ընդունված է HTML-ում, այն ինքնուրույն այնքան էլ ֆունկցիոնալ չէ, քանի որ HTML-ը ստեղծվել է հիմնականում որպես տեքստի և պատկերների ցուցադրման միջոց: Այս խնդիրը լուծելու համար մենք պետք է գործադրենք սերվերի կողմի կոդ՝ հյուրերի գրքի ձևով հավաքագրված տվյալները մշակելու համար: Այս սերվերի կողմից ծածկագիրը կարող է լինել ծրագրավորման մի շարք լեզուներից որևէ մեկում, ինչպիսիք են PHP, ASP .NET, JSP կամ Ruby: Քանի որ այս լեզուներով ծրագրավորումը դուրս է այս հոդվածի շրջանակներից, ես պատրաստվում եմ օգտագործել ընդհանուր, «կեղծ» ծածկագիրը՝ ներկայացնելու սերվերի կողմի կոդը և ձեզ պատկերացում տալ, թե ինչպես այն կարող է տեսք ունենալ:

միանալ տվյալների բազային

եթե (ձևը ներկայացված է) (

մուտքագրեք տվյալները տվյալների բազայում ()

կարդալ հյուրերի գրքի բոլոր գրառումները տվյալների բազայից և դասակարգել ըստ ամսաթվի նվազման

while (տվյալների բազայի գրառումները կան) (

// ցուցադրել ամբողջությունը այս ձևաչափով

տպել: "

$fullname$
$ամսաթիվ$

$հաղորդագրություն $

."

սերտ կապ տվյալների բազայի հետ

Վերևում գտնվող կեղծ կոդը պարզապես կապ է հաստատում տվյալների բազայի հետ, որտեղ պահվում են տվյալները: Այնուհետև այն ստուգում է՝ արդյոք հյուրերի գրքի ձևը ներկայացվել է: Եթե ​​ունի, ապա այն մուտքագրում է տվյալները տվյալների բազա:

Հաջորդ բանը, որ անում է կեղծ կոդը, այն է, որ կարդում է հյուրերի գրքի բոլոր գրառումները տվյալների բազայից և ցուցադրում դրանք օգտվողին հենց վեբ ձևի տակ՝ տալով արդյունքը, ինչպես երևում է վերևի նկարում:

Եզրակացություն

Ահա դուք ունեք այն: Հյուրերի գրքի HTML աղբյուրը դրանից ավելի պարզ չէ: Հյուրատետրը ամենահեշտ և հիմնական դինամիկ էջերից մեկն է, որը դուք երբևէ կներդրեք ձեր կայքում: Իհարկե, հյուրերի գրքույկը կարող է ձևավորվել ավելի և ավելի բարդ եղանակներով, և տվյալների վավերացումը կարող է և պետք է օգտագործվի ձեր կայքի հոսքի համար: Անկախ նրանից, թե որ ձևով եք ընտրում հյուրերի գիրքը իրականացնելու համար, կեղծ ծածկագրում նկարագրված հիմունքները մնում են նույնը:

Ամբողջական անուն:
Էլեկտրոնային հասցե
հաղորդագրություն: