Skriptet PHP. Skripti i librit të të ftuarve në PHP Vendosja e një libri të ftuar, mbrojtja nga spami

Ne folëm për krijimin e një libri të ftuar në sit duke përdorur një skenar të gatshëm. Ndërkohë, në faqet e vogla, libri i të ftuarve zakonisht përbëhet nga disa mesazhe (dhjetë deri në pesëmbëdhjetë) dhe rrallë herë përditësohet me të reja. Në thelb, libri është i bllokuar me spam, të gjitha llojet e reklamave dhe lidhjet me faqet e internetit. Si rezultat, harxhohet shumë kohë për pastrimin e tij dhe kontrollimin (moderimin) e mesazheve.

Përparësitë kryesore të kësaj qasjeje janë si më poshtë:
- paaftësia e të huajve për të futur idetë e tyre të mrekullueshme në faqen e librit të të ftuarve, duke anashkaluar pengesën tuaj të rreptë,
- nuk ka nevojë të krijoni një dizajn të veçantë, pasi linjat e mesazheve futen direkt në faqen e faqes,
- mund ta optimizoni lehtësisht librin tuaj të të ftuarve duke e mbushur me fjalë kyçe për të promovuar faqen tuaj.

Së pari, le të krijojmë një formë për mesazhet në librin e të ftuarve duke përdorur çdo redaktues HTML dhe CSS. Për shembullin tonë, ne nuk do të devijojmë nga dizajni i librit të diskutuar më parë. Ne do ta bëjmë butonin Shto mesazh një lidhje imazhi me formularin e komenteve (faqe forma_02.html), i cili hapet në një dritare të vogël (shembulli po funksionon, mund ta kontrolloni!).

LIBRI I MYSAFIRËVE
Kompania Pupkin dhe partnerët

23.10.2011
Ivan Ivanovich
Moska

Kam porositur një faqe interneti nga kompania juaj.
Gjithçka u bë shpejt dhe me efikasitet.
Faleminderit stafit të SEOMARK! Unë do t'ju rekomandoj miqve të mi.

Admin. Gjithmonë i lumtur për të ndihmuar!
21.10.2011
Gubkin
Londra

Urime për fillimin e librit tuaj të të ftuarve.
Ju urojmë suksese në punën tuaj dhe lumturi në jetën tuaj personale.

Kompania "Gubkin dhe partnerët".

Admin. Faleminderit!

Kodi për lidhjen "Shto mesazh" është si më poshtë:
.

Këtu në JavaScript specifikoni adresën e faqes që do të hapet (forma_02.html), gjerësinë dhe lartësinë e dritares së re (500x600 piksele) dhe pozicionin e saj në ekranin e monitorit (këndi i sipërm majtas). Përmbajtja e dritares nuk ka ndonjë veçori të veçantë dhe përcaktohet nga informacioni që ju nevojitet për vizitorin: emri, adresa, posta elektronike, ICQ, etj.

Nëse mesazhi është dërguar me sukses, shfaqet mesazhi i mëposhtëm:
“Faleminderit që dërguat mesazhin tuaj.
Pas verifikimit nga administratori i faqes
do të shtohet në librin e të ftuarve. "
Teksti i plotë i faqes PHP për shembullin e konsideruar është si më poshtë:





Mesazh




Sot do të përshkruaj ndoshta detyrën më të mirë për fillestarët e gjuhës së programimit PHP - Libri i Vizitorëve. Sipas mendimit tim, kjo detyrë është më e thjeshta, por në të njëjtën kohë ju lejon të mësoni të gjitha tiparet kryesore të punës me PHP dhe bazën e të dhënave MySQL. Për më tepër, kjo detyrë është pafundësisht e zgjerueshme, gjë që ju lejon të përmirësoni teknologjitë e reja.

Përshkrimi dhe zgjidhja e këtij problemi do të shkruhet pikërisht këtu, pa testuar funksionalitetin, kështu që ndoshta ka një gabim shtypi diku. Kjo nuk u bë për shkak të dembelizmit tim, por përsëri për shkak të trajnimit shtesë gjatë krijimit të një libri të ftuar nga ju. Gjithashtu, zgjidhja e paraqitur do të jetë pak "e shtrembër", por më shumë për këtë në fund të këtij artikulli në seksionin "Punë e pavarur".

Nëse nuk dini të punoni fare me PHP, atëherë së pari ju këshilloj të lexoni artikullin PHP - ku të filloni.

Do të analizojmë krijimin e librit më primitiv të të ftuarve, pa dizajn dhe administrim. Me fjalë të tjera, ne do të kufizohemi në hyrjen në libër, regjistrimin dhe lënien e mesazheve.
Nga vetë detyra, bëhet e qartë se ne mund të kufizohemi plotësisht në tre skedarë PHP për të zbatuar këtë detyrë. Sigurisht, detyra e regjistrimit mund të ndahet në dy: formulari i regjistrimit dhe shtimi i të dhënave në bazën e të dhënave, por ne nuk do ta bëjmë këtë. Arsyetim i ngjashëm vlen edhe për procedurën e lënies së komenteve. Kështu, ne krijojmë tre skedarë: index.php, register.php, book.php.

Me emrat e skedarëve, mund të kuptoni menjëherë se për çfarë do të jenë përgjegjës: index.php - faqja e hyrjes, register.php - faqja e regjistrimit, book.php - faqja e librit të të ftuarve.

Gjëja më e thjeshtë në rastin tonë është faqja e hyrjes. Meqenëse faqja është përgjegjëse për futjen e një çifti identifikimi dhe fjalëkalimi, ajo duhet të përmbajë një formular për dërgimin e këtyre të dhënave në faqen book.php. Dhe gjithashtu një lidhje në faqen e regjistrimit. Ne kemi:

Identifikohu në librin e të ftuarve Identifikohu:
Fjalëkalimi:

Regjistrimi

Duke u larguar pak nga tema, për ata që nuk e dinë se çfarë do të thotë kodi i mësipërm. Këtu kemi HTML të zhveshur. Pika kryesore është etiketa e formës, e cila pranon dy parametra veprimi, të cilët janë përgjegjës për adresën e faqes që do të hapet pas konfirmimit të futjes së të dhënave dhe një parametër i metodës, i cili përgjigjet se si do të dërgohen të dhënat e formularit në faqen e specifikuar. (shih POST dhe MERR me fjalë të thjeshta). Brenda etiketës së formës, specifikohen fushat e hyrjes (hyrje, përzgjedhje), të cilat duhet të kenë një atribut emri. Është me vlerën e këtij atributi që do të jetë e mundur të merren të dhënat e futura nga përdoruesi në faqen e specifikuar në parametrin e formës së veprimit. Brenda formularit duhet të ketë një hyrje me llojin e paraqitjes, që në thelb është një buton, me klikim të të cilit të dhënat do të dërgohen në faqen e veprimit.

Vazhdojmë... Tani duhet të krijojmë një faqe të re regjistrimi të përdoruesit. Vlen të mendojmë menjëherë se çfarë saktësisht duam të kemi. Vendosa që për një libër të thjeshtë të ftuar do të mjaftonte të kishim përdorues me hyrje unike, si dhe të dija adresën e faqes së tyre të internetit (nëse ka një të tillë). Pasi të kemi vendosur se çfarë duam të dimë për përdoruesin, atëherë mund të fillojmë të dizajnojmë bazën tonë të të dhënave.

Shkoni te phpMyAdmin. Le të krijojmë një bazë të dhënash atje me emrin gb. Në këtë bazë të dhënash, ne do të krijojmë një tabelë Përdoruesit me fushat e mëposhtme:

Identifikohu varchar(50) unike //hyrja e përdoruesit, fjalëkalimi unik i fushës varchar(150) //fjalëkalimi www varchar(255) //adresa e faqes në internet

Dhe meqenëse tashmë kemi hyrë në redaktuesin e bazës së të dhënave, mund të mendojmë menjëherë se si do t'i ruajmë mesazhet. Në rastin tonë, është mjaft e përshtatshme të dimë se kush e ka lënë mesazhin dhe kur, dhe tekstin aktual të mesazhit tonë. Gjithashtu, për lehtësi, ia vlen të numërojmë mesazhet tona. Ne kemi vendosur për këtë, që do të thotë se mund të krijojmë me siguri një tabelë tjetër të Mesazheve me strukturën e mëposhtme:

Id int ai(auto_increment) çelësi_primar //numri i mesazhit, numëruesi, i cili vetë do të rrisë mes tekstin //tekstin e mesazhit që varchar(50) //hyrja e personit që ka lënë mesazhin kur vula kohore është e paracaktuar(aktuale) //koha e largimit mesazhin, sipas datës dhe orës aktuale të paracaktuar

Ne kemi renditur bazën e të dhënave. Tani le të kalojmë te skedari register.php. Duke përmbledhur sa më sipër kemi:

Hyrja për regjistrim:
Fjalëkalimi:
Fjalëkalimi përsëri:
WWW: http://


Në kryesore

Pak për kodin. Siç e keni vënë re tashmë, PHP është i pranishëm këtu. Nuk do ta përshkruaj më formularin, por siç mund ta shohim, këtu të dhënat e formularit dërgohen në të njëjtën faqe ku ndodhet ky formular. Me fjalë të tjera, skedari register.php dërgon të dhëna në vetvete. Askush nuk e ndalon ta bësh këtë, por nuk mund ta përdorësh gjithmonë, pasi prish shumë lexueshmërinë e kodit. Megjithatë, nga ana tjetër, kjo tregon qartë aftësitë e gjuhës PHP. Në thelb faqja jonë është e ndarë në dy raste. Rasti i parë është kur të dhënat dërgohen në faqe nga një kërkesë POST, rasti i dytë është kur asnjë kërkesë POST nuk dërgohet në faqe. Në rastin e dytë, ne do të tregojmë formularin e regjistrimit, dhe në rastin e parë do të fillojmë të kontrollojmë të dhënat e paraqitura. Siç mund ta shihni, të dhënat dërgohen në formën e një grupi shoqërues (d.m.th., një grup, indekset e të cilit janë vargje). Për më tepër, indekset përkojnë me emrat e fushave hyrëse të specifikuara në formularin e dorëzimit të të dhënave. Ato. nëse shkruajmë

atëherë, kur dërgojmë këto të dhëna me një kërkesë POST, do të kemi një variabël

$_POST["vasa-peta"]

Vlen gjithashtu të theksohet se ne nuk bëjmë asnjë kontroll të përsëritur të hyrjes. Ky kontroll do të kryhet në nivelin e bazës së të dhënave, pasi fusha e hyrjes është shënuar si unike.

Tani gjëja e fundit. Gjithçka që mbetet është të bëhet libri i të ftuarve vetë. Pak diskutim. Meqenëse libri i mysafirëve funksionon duke përdorur një hyrje dhe fjalëkalim, gjëja e parë që duhet të bëjmë është të kontrollojmë hyrjen dhe fjalëkalimin e futur për disponueshmërinë në bazën e të dhënave. Meqenëse vendosëm të shtonim mesazhe në skedarin book.php, atëherë padyshim që procedura për shtimin e një mesazhi duhet të ndiqet. Epo, në fund, një shfaqje e të gjitha mesazheve. (nëse shtoni një mesazh pasi të shfaqen, mesazhi i shtuar do të shfaqet vetëm pasi faqja të ringarkohet). Ne kemi:

Libri i të ftuarve