Forma php e këndshme për një mashkull të listës së anëtarëve. Krijimi i një formulari reagimi në PHP
Përshëndetje, i dashur lexues, sot kam përgatitur për ju një formular të shijshëm reagimi html që funksionon pa ringarkuar faqen duke përdorur teknologjinë Ajax + një shkas i fuqishëm që do t'i motivojë vizitorët tuaj të përdorin formularin. Lexuesit e blogut tim diskutuan në mënyrë shumë aktive artikullin tim të mëparshëm në Faqen e uljes, tani ne po e vlerësojmë atë dhe po shikojmë formën e re të përfunduar. Të gjitha të nevojshme kodi burimor dhe demonstrimi i bashkangjitur në artikull , do të analizojmë edhe strukturën e punës dhe lidhjes.
UPD: Rregulloi një gabim me kodimin e emrit në rreshtin e temës. Tani gjithçka shfaqet si duhet. Falënderojmë lexuesin (Ekaterina Karacheva)
Vetë formati i formularit përfshin gjithashtu një skedar mbajtës në PHP, përveç kësaj, për punë do t'ju duhet një bibliotekë jquery dhe skriptet, por së pari, nuk do ta ngarkoj atë për një kohë të gjatë - le të kalojmë në rishikim; analiza e komenteve tona.
Formulari i reagimit HTML - struktura e punës
Forma jonë duket si kjo:
Ç'kuptim ka këtu? Ekziston një formular i tillë në anën e djathtë, por në anën e majtë kam bërë një bllok të veçantë që do të inkurajojë vizitorin tuaj të fusë menjëherë informacionin e kontaktit! Sekreti është i thjeshtë: A e shihni datën dhe orën në bllokun e majtë? Data e sotme do të shfaqet gjatë gjithë kohës, me kalimin e kohës diapazoni i këtyre dy orëve llogaritet nga ora aktuale, le të themi nëse ora juaj tani është 13:14, atëherë diapazoni i orëve do të jetë: nga 12 në 14. Shikoni si punon)))
Vizitori do të shohë: wow, ka një zbritje sot, dhe unë sapo isha në kohë, ka edhe një zbritje! Duhet ta marrë menjëherë! - Ky është shkaktari ynë.
Shkarkova kodin burimor të formularit të reagimit html, shikova demonstrimin - mendoj se kam luajtur mjaftueshëm)) Tani për gjënë më të rëndësishme, parimin e funksionimit:
Vleresimi i fushave në formularin e hyrjes ndodh në skedarin mbajtës kontakto.php Më poshtë në listën e kodit të programit që mund të shihni, një mesazh për gabimet dhe dërgimin e suksesshëm të letrës shfaqet në vetë formularin, kështu duket pas dërgimit:
Kodi burimor i mbajtësit të formularit
Ngjit në radhë 52 emailin tuaj, kështu që të gjitha letrat do të dërgohen në emailin e specifikuar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | < 1) { $error .= "Введите ваше сообщение. <".$tel."> ".$error." ";
}
}
?>
|
"; ) // Funksioni i verifikimit të telefonit ValidateTel($valueTel) ( $regexTel = "/^(7,12)$/"; if($valueTel == "") (kthim i rremë; ) else ($string = preg_replace( $regexTel, "", $valueTel kthen bosh ($string) ?
"; ) if($tel && !ValidateTel($tel)) ($error .= "Fut një numër telefoni të vlefshëm.
"; ) if(!$gabim) // Kontrollo mesazhin (gjatësinë) if(!$mesazh || strlen($mesazh)< 1)
{
$error .= "Введите ваше сообщение.
";// Ky rresht vendos një kufizim minimal në shkrimin e shkronjave. ) if(!?utf-8?b?". base64_encode($name) ."?="; $message ="\n\nEmri: " .$ emri."\n\nNumri i telefonit: " .$tel."\n\nMesazhi: ".$mesazh."\n\n"; [email i mbrojtur]", $subject, $message, "Nga: ".$name_tema."<".$tel.">"." Përgjigju-Për: ".$email." "." X-Mailer: PHP/" . phpversion()); if($mail) (echo "OK";) ) other (echo "
Performanca e formës
Për të marrë letra në kutinë tuaj postare, ndryshoni rreshtin që përmenda më lart. Ju këshilloj të përdorni postën e gmail.com, nuk ka vonesa ose bllokime kur merrni një letër të gjeneruar nga formulari. Ju paralajmërova sepse... Lexuesit kishin shumë pyetje (letrat nuk mbërrijnë në mail.ru). Kini kujdes për këtë.
Ne plotësojmë të gjitha fushat, ju lutemi vini re se numri i telefonit është futur me një 8 - Unë e kam shkruar në mënyrë specifike numrin me një tetë "89251122333" në këshillën e veglave. Kur futni një karakter «+» Do të shfaqet një mesazh gabimi. Nëse dikush ka nevojë për të, është e lehtë ta shtosh këtë te mbajtësi «+» .
Formulari i plotësuar me të dhënat e testit
Letër në kutinë postare
Siç mund ta shihni, ne kemi marrë letrën me të tre fushat që janë plotësuar dhe dërguar. Kreu i shkronjës "Kërkesë nga faqja e sitit" ndryshon në mbajtës kontakto.php
Gjithçka funksionon mirë, do të jetë mirë të dëgjoni komentet tuaja (kritika konstruktive) në komente, nëse keni ndonjë vështirësi dhe nuk mund të përballoni diçka, mos ngurroni të më shkruani në VK (do ta gjeni në detajet e kontaktit ). Shpresoj se ju ka pëlqyer dizajni dhe funksionaliteti i kësaj simbioze të një formulari reagimi (porosi shërbime, aplikacioni) dhe një shkas që kërkon veprim. Fat i mirë për të gjithë në punën tuaj dhe një qëndrim pozitiv, bye))
Përgatitur me mbështetjen e
Sot do të punojmë në krijimin e një formulari të bukur HTML për komentet e sajtit, i cili funksionon në PHP dhe ka mbrojtje të integruar ndaj spamit. Ju nuk keni nevojë për ndonjë njohuri të veçantë, bazat e html dhe logjika bazë do të jetë e mjaftueshme. Unë do të jap skedarë të gatshëm që mund t'i futni në faqe pa ndryshime ose t'i përshtatni nevojave tuaja.
Kohët e fundit kam shkruar një artikull rreth asaj se si të krijoni një duke përdorur shtojcën e Formularit të Kontaktit 7. Ju gjithashtu mund të bëni lehtësisht një formular reagimi në Joomla dhe CMS të tjera të njohura.
Por çfarë duhet të bëjnë faqet që nuk përdorin CMS të njohura? – Mbetet vetëm të bëjmë gjithçka me dorë.
Për më tepër, përdorimi i reagimeve pa shtojca është gjithashtu i mundur për WordPress. Shtojcat e panevojshme krijojnë një ngarkesë të konsiderueshme në serverë, dhe eliminimi i tyre ju lejon të shpejtoni faqen.
Këtu mund të porosisni instalimin dhe konfigurimin e formës së përfunduar për 500 rubla (kjo është për ata që janë shumë dembel për të punuar me duart e tyre ose kanë aftësi të pamjaftueshme).
Si funksionon forma e reagimit HTML
Formulari ynë do të ketë 5 fusha për futjen e të dhënave - emrin, adresën e emailit, numrin e telefonit, adresën e faqes në internet, tekstin e mesazhit (mund t'i fshini ose t'i ndryshoni vetë).
Do të kërkohen të gjitha fushat përveç adresës së faqes së internetit (mund ta konfiguroni edhe vetë).
Për fushat me adresën e emailit dhe faqen e internetit, do të kryhet një kontroll i detyrueshëm i saktësisë së futjes së të dhënave.
Forma përfundimtare e komunikimit do të duket si kjo:
Një formë kontakti e krijuar në html kërkon 3 elementë për të punuar.
E para është përgjegjëse për strukturën e vetë formularit, llojin dhe numrin e fushave të futjes së të dhënave. Ky është kod normal html.
E dyta është përgjegjëse për përpunimin e të dhënave që përdoruesi fut në fushat e formularit. Ai përcakton se çfarë, ku dhe në çfarë forme të dërgohet pasi të shtypet butoni i dërgimit. Një skript i veçantë PHP përdoret për implementim.
E treta është përgjegjëse për pamjen. Vendos madhësinë dhe vendndodhjen e fushave të futjes së të dhënave, shton ngjyra dhe efekte të ndryshme. E gjithë kjo është vendosur nga stilet CSS.
Versioni demonstrues i formularit
Ne do t'ju tregojmë hap pas hapi konfigurimin e secilit prej këtyre elementeve.
Krijimi i një Layout HTML
Për të mos e zgjatur shumë artikullin dhe për të mos shtuar secilin element veç e veç, do të jap kodin e plotë html dhe më poshtë do të përshkruaj çdo bllok dhe ndryshimet e mundshme.
Etiketa përdoret për të përcaktuar format në HTML
, brenda së cilës plotësohen parametrat e nevojshëm.Le të fillojmë me rreshtin e parë.
class = "forma_kontakti"– specifikoni klasën në mënyrë që të vendosni stilet CSS në të ardhmen.
action=”contact-form.php”– specifikoni emrin e skedarit me skriptin që do të përpunojë të dhënat e formularit dhe do të dërgojë mesazhin. Nëse skedari është në të njëjtën dosje me faqen me formularin, atëherë mjafton të tregoni vetëm emrin e skedarit nëse është në një dosje tjetër, atëherë do t'ju duhet të tregoni shtegun për në skedar;
Më pas vijnë 4 blloqe
Përgjegjës për shfaqjen e fushave për futjen e të dhënave, emrat e bëjnë të qartë se cili është përgjegjës për çfarë. Vetë fushat shfaqen duke përdorur etiketa , brenda të cilit vendosen karakteristikat e mëposhtme:
Lloji– është përgjegjës për llojin e të dhënave hyrëse, tekstin – tekstin e thjeshtë, emailin – adresën e emailit, këto fusha kontrollohen automatikisht për korrektësi (@ duhet të jetë i pranishëm), tel – numrin e telefonit, url – adresën e faqes në internet.
Emri– emri i duhur i vetë elementit, është i nevojshëm në mënyrë që skripti të dijë të përdorë të dhënat e secilës fushë. Nëse krijoni disa fusha të të njëjtit lloj, atëherë duhet t'i caktoni secilës fushë emrin e vet.
Vendmbajtësi– ky është një këshillë veglash e vendosur brenda fushës, tekst që zëvendëson fushën boshe të elementit. Mund të ndryshohet ose fshihet, nuk ndikon në funksionimin e formularit.
E detyrueshme– ky parametër tregon që fusha është e nevojshme. Ju mund të vendosni vetë se cilët elementë kërkohen dhe cilët jo.
model=”(http|https)://.+”– ky konstruksion shërben për të kontrolluar korrektësinë e fushës së faqes së internetit, duke treguar se adresa duhet të përmbajë http://text ose https://text, përndryshe do të ketë një gabim.
Disa fusha kanë një këshillë mjeti që shfaqet kur zgjidhni një artikull. Ajo është e lënduar , ku form_hint është klasa e elementit (vetitë e tij shkruhen në CSS). Mund të vendosni çdo tekst në këshillën e veglave për secilën fushë të formularit të kontaktit. Nëse nuk ju nevojitet një veçori e tillë, thjesht hiqni të gjithë etiketën.
Fushat për futjen e vetë mesazhit shënohen me etiketën
Mbrojtja e spamit– fushë e padukshme me emrin name=bezspama. Ka stilin e ekranit: asnjë - kjo do të thotë se fusha është e padukshme për njerëzit, por robotët do ta plotësojnë atë automatikisht.
Dhe elementi përfundimtar i çdo forme është butoni i dërgimit të mesazhit, ai specifikohet nga etiketa , i cili ka klasën e vet për përshtatjen e pamjes dhe llojin “submit”.
Për të shtuar ose hequr fusha, thjesht hiqni ato të panevojshme ose futni të reja në analogji me ato ekzistuese, duke specifikuar të gjitha vetitë dhe emrat për to.
Dizajnimi me stile CSS
Nëse shikoni rezultatin në shfletues, do të shihni diçka të ngathët dhe jo tërheqëse. Në mënyrë që ne të kemi një formë të bukur reagimi, do të duhet të punojmë në stilet e tij (html nuk do të mjaftojë).
Nëse e dini CSS, atëherë mund të vendosni dizajnin për të gjithë elementët e formës pa asnjë problem, nuk keni nevojë as për ndihmën time.
Nëse nuk jeni të njohur me stilet, atëherë unë thjesht do t'ju jap një skedar të gatshëm në të cilin gjithçka është shkruar tashmë në atë mënyrë që forma juaj të jetë identike me atë në shembull.
Ju mund të lidhni stile në dy mënyra:
- Kopjoni përmbajtjen e skedarit në skedarin style.css që është tashmë në faqen tuaj (shtoni në fund)
- Vendosni skedarin që ju dhashë në hostin tuaj dhe lidheni atë.
Skedarët e stilit lidhen duke përdorur kodin e mëposhtëm , vendosur brenda
. Nëse skedari me stile (styles.css) nuk ndodhet në të njëjtën dosje si faqja html, atëherë shkruani shtegun e plotë për të.Në skedarin e stilit që dhashë, çdo element është etiketuar, kështu që ju mund të bëni çdo ndryshim në të - ndryshoni ngjyrat, madhësitë, format, efektet. Duke pasur njohuritë më themelore, mund t'i modifikoni lehtësisht.
Vendosja e kodit PHP (shtoi mbrojtje kundër spamit)
Ashtu si me stilet, unë do t'ju jap një kod të gatshëm që përpunon formularin e reagimit HTML dhe mbron nga mesazhet e padëshiruara. Ky skedar është përshtatur për një konfigurim specifik dhe nëse dëshironi të vendosni fusha të reja ose të hiqni ato ekzistuese, do t'ju duhet të bëni ndryshime në të. Prandaj, unë do t'ju tregoj se si funksionon në mënyrë që të kuptoni se çfarë duhet ndryshuar.
Për faqet që përdorin kodimin Windows-1251 dhe versionin php 5.4+, do t'ju duhet të shtoni një shtesë në kodin që lidhet me funksionin htmlspecialchars. Do ta tregoj më poshtë. Përndryshe, në vend të alfabetit cirilik do të shfaqen fusha boshe.
Mos harroni, në vetitë e formës (në skedarin html) kemi specifikuar parametrin action=”contact-form.php”. Duhet të krijoni një skedar të quajtur contact-form.php dhe të vendosni kodin e mëposhtëm në të.
\r\n Përgjigju: $email \r\n"; nëse (mail($adresa, $sub, $mes, $from)) ( header ("Rifresko: 5; URL=https://site") jehonë ";
";) else ( header ("Rifresko: 5; URL=https://site"); jehonë "
";) ) dil; /* Dil pa mesazh nëse fusha bezspama është e mbushur me bote të padëshiruara */ ?>
/* Vendos variabla */ $name = htmlspecialchars($_POST["emri"]); $email = htmlspecialchars($_POST["email"]); $tel = htmlspecialchars($_POST["tel"]); $website = htmlspecialchars($_POST["faqe interneti"]); $message = htmlspecialchars($_POST["mesazh"]); $bezspama = htmlspecialchars ($_POST ["bezspama" ] ); /* Adresa juaj dhe subjekti i mesazhit */ $nën = "Mesazhi nga sajti XXX"; /* Formati i letrës */ $mes = "Mesazhi nga sajti XXX.\n Emri i dërguesit: $name Adresa e emailit të dërguesit: $email Numri i telefonit të dërguesit: $tel Faqja e internetit e dërguesit: $website Teksti i mesazhit: $mesazh" ; nëse (bosh ($bezspama) ) /* Vlerësimi i fushës bezspama - duhet të jetë bosh */ /* Dërgo një mesazh duke përdorur funksionin mail() */ $nga = "Nga: $name<$email>\r\n Përgjigju: $email \r\n"; nëse (mail ($adresa, $sub, $mes, $from)) ( header(); jehonë"
Letra është dërguar, për 5 sekonda do të ktheheni në faqen XXX " ; } tjeter( kokë ( "Rifresko: 5; URL=https://site") ; jehonë"
Email-i nuk u dërgua, për 5 sekonda do të ktheheni në faqen YYY " ; } dalje ; /* Dilni pa mesazh nëse fusha bezspama është e mbushur me bote të padëshiruara */ |
Para së gjithash, ne duhet të vendosim variablat që do të përpunohen nga kodi PHP. Për të mos u ngatërruar, ne u caktojmë atyre emrat e njëjtë siç ishin në vetë formularin, vetëm të gjitha variablat fillojnë me shenjën $. Vetë komanda e caktimit të vlerës duket si kjo:
$title = htmlspecialchars($_POST["titulli"]);
$title=htmlspecialchars($_POST["title"]); |
Nëse keni shtuar ndonjë fushë të dhënash shtesë, shtoni emrat e tyre në bllokun e variablave.
Ne nuk i marrim të gjitha variablat nga forma. Së paku, adresa e emailit në të cilën do të dërgohet letra (adresa juaj) tregohet veçmas. Në këtë rast, kjo është ndryshorja $address - shkruani adresën tuaj të emailit në vlerën e saj.
Gjithashtu, në këtë shembull, vlera e ndryshores $sub është vendosur në mënyrë eksplicite - ajo do të shfaqë temën e letrës. Mund të shtoni temën e mesazhit në formularin HTML si një fushë teksti (si emri) dhe të merrni vlerën e kësaj ndryshoreje prej andej.
Në bllokun e formatit të shkronjave, ju konfiguroni mesazhin që do të merrni. Mund të ndryshojë nga ajo që është shkruar në fushën e tekstit të quajtur mesazh. Thjesht bëra një variabël tjetër $mes dhe përfshiva tekst shtesë dhe të dhëna të rëndësishme të dërguesit (emri, emaili, telefoni, faqja e internetit) në të. Ju mund ta konfiguroni këtë pjesë sipas dëshirës tuaj.
Për t'u siguruar që letrat që merrni janë të nënshkruara me emrin e dërguesit dhe përfshijnë adresën e tyre të kthimit, dhe jo adresën e serverit në të cilin ndodhet skedari juaj php, ne vendosëm një ndryshore të re $from, e cila përfshin emrin dhe emaili i dërguesit të letrës.
Pastaj funksioni i postës dërgon letrën sipas parametrave të specifikuar. Nëse dërgohet me sukses, shfaqet një mesazh që thotë se letra është dërguar dhe pas 5 sekondash përdoruesi ridrejtohet në një faqe në faqen tuaj të internetit (mund të ndryshoni adresën e faqes dhe kohën e vonesës). Nëse letra nuk mund të dërgohej, shfaqet një mesazh që letra nuk është dërguar dhe pas 5 sekondash shkon në faqen e faqes në të njëjtën mënyrë, mund të vendosni adresën dhe kohën e faqes.
Futja e një formulari në një faqe interneti
Për të futur formularin e komenteve që keni krijuar, duhet të kopjoni kodin html të formularit dhe ta ngjisni në pjesën e kodit të faqes ku dëshironi të shfaqni komentet për sajtin.
Edhe një herë dua t'ju kujtoj se nëse skedari me programin PHP nuk është në të njëjtën dosje me faqen në të cilën ndodhet kodi html, atëherë në kodin e vetë formularit duhet të shkruani rrugën e plotë për të. , përndryshe nuk do të funksionojë, pasi forma nuk do të gjejë mbajtës skedari.
Shkarkoni skedarët e formularit të kontaktit
Anti-spam aktiv me futjen e të dhënave në terren
Spammers funksionojnë duke përdorur mjete të ndryshme softuerike dhe disa robotë janë në gjendje të anashkalojnë mbrojtjen e fushës së zbrazët që është ndërtuar në versionin bazë. Nëse ata fillojnë t'ju shqetësojnë, mund të përdorni mbrojtje të thjeshtë në vend të tyre ose shtesë duke futur të dhëna në një fushë të veçantë. Për shembull, bëni një shprehje matematikore duke ju kërkuar të shkruani një përgjigje ose të bëni një pyetje të thjeshtë. Kjo nuk do të kërkojë ndryshime të mëdha në formë.
Unë do t'ju tregoj se si të ndryshoni kodin e formularit dhe mbajtësin PHP për të përdorur këtë metodë antispam. Nëse dëshironi, nuk mund ta ndryshoni mbrojtjen me një fushë të zbrazët, por shtoni linjat përkatëse në kod dhe do të keni 2 metoda që funksionojnë njëkohësisht - në teori, duhet të jetë më efikase.
Para së gjithash, ne duhet të shtojmë një fushë hyrëse dhe një pyetje në kodin HTML. Ne tashmë kemi rreshtin 25 (emri i hyrjes = "bezspama") si bazë. Kjo fushë është e padukshme. E kthejmë në të zakonshme. Për ta bërë këtë, ndryshoni të gjithë rreshtin në këtë bllok:
|
Në vend të shprehjes matematikore 2+2*2, mund të futni çdo të dhënë - kjo është një pyetje vizuale për përdoruesin. Ne hoqëm stilin e ekranit: asnjë nga fusha e hyrjes dhe shtuam mbushjen e detyrueshme.
Hapi tjetër është ndryshimi i të dhënave në mbajtësin PHP në mënyrë që ai të kontrollojë jo boshllëkun e kësaj fushe, por korrektësinë e të dhënave të futura. Ne kontrolluam në rreshtin 25 me shprehjen bosh ($bezspama) . Ne e ndryshojmë këtë shprehje dhe do të kontrollojmë nëse fusha e mbushur është e barabartë me një numër të paracaktuar. Në shembullin tim, shprehja e matematikës është 6, kështu që e gjithë rreshti do të duket kështu.
Përshëndetje djema. Seryoga është në kontakt. E di që nuk kam shkruar për një kohë të gjatë - gjëra për të bërë, gjëra për të bërë... Dhe tani, të them të drejtën, nuk kam fare kohë. Dhe ne do ta bëjmë formën jo sipas mësimit tim, por sipas mësimeve të mikut tim - Krotova Romana.
Krijo një formular reagimi për sitin do të jemi konsistent. Prandaj, ky artikull do të ndahet në 3 mësime.
Ne thjesht do ta futim atë në HTML dhe do të krijojmë një mbajtës PHP për dërgimin e letrave. Gjithçka do të jetë e qëndrueshme, nga e para në rezultat. Kështu që të kuptoni gjithçka dhe të mund të futni vetë fushat e nevojshme.
Roma do t'ju tregojë se si të bëni ngarkimin e Ajax. Kjo do të thotë, dërgoni të dhëna nga formulari pa ringarkuar faqen. E cila, shihni, është shumë e përshtatshme dhe moderne.
Epo, në të tretën (Mësimi është duke u përgatitur - do të ketë një lidhje këtu më vonë), ne do të ndërtojmë një kontroll vërtetimi. Jo duke përdorur shfletuesin, por duke përdorur skriptet speciale.
Video 1. Krijimi i një formulari reagimi për sitin.
Duke i kushtuar vëmendje! Që forma të funksionojë, është e nevojshme që hosti juaj të mbështesë PHP.
Nëse keni ndonjë pyetje në lidhje me pikat e paqarta në shkrimin e një mbajtësi të formularit për dërgimin e letrave, mos hezitoni t'i pyesni ato në komente.
Kodi nga mësimi për krijimin e një formulari reagimi
Kjo është ajo me të cilën përfunduam në skedarin index.php
Më lejoni t'ju kujtoj se çfarë përmban formular i thjeshtë reagimi. Pa zbukurime apo kambana e bilbila të tjera. Për të mos ju ngarkuar me informacione të panevojshme.
Përmbajtja e skedarit submit.php:
Këtu, kryhet një kontroll bazë i plotësisë së formularit në mënyrë që të mos dërgohen mesazhe boshe. Nëse gjithçka është "mirë", letra dërgohet. Dhe ka një ridrejtim në një faqe njoftimi për dërgimin e suksesshëm të letrës.
Nëse (!empty($_POST["emri"]) DHE !empty($_POST["email"]) DHE !empty($_POST["mesazh"])) ( $headers = "Nga: Krotov Roman " ." Ti përgjigjeni: [email i mbrojtur]" . "X-Mailer: PHP/" . phpversion(); $theme = "Mesazhi i ri nga faqja"; $letter = "Të dhënat e mesazhit:"; $letter .=" "; $letter .="Emri: " $_POST["name"]; " .$_POST["mesazh"]; nëse (mail(" [email i mbrojtur]", $theme, $letter, $headers))( header("Vendndodhja: /testform/thankyou.php"); ) else (header("Vendndodhja: /testform"); ) ) else (header("Vendndodhja: / formulari i testimit");)
Epo, nuk e shoh kuptimin në postimin e vetë faqes së njoftimit këtu. Ekziston struktura bazë e një dokumenti HTML dhe vetëm një rresht teksti.
Krijo një formular reagimi
Krijimi i një formulari reagimi në faqen e internetit
Në procesin e promovimit të faqes së internetit, së bashku me studimin e statistikave të vizitorëve, informacioni për faqen e internetit nga vetë vizitorët është i një rëndësie të veçantë. Një nga mënyrat më të lehta për të marrë një informacion të tillë është të vendosni një faqe në faqen e internetit me formulari i reagimit. Vizitori lë një mesazh dhe ai do të dërgohet në adresën tuaj të emailit ose në ndonjë tjetër që ju specifikoni. Në këtë rast, vizitori nuk ka nevojë të përdorë programin e tij të postës, madje nuk ka nevojë të ketë e-mailin e tij.
Shembulli më i thjeshtë i kësaj forme është paraqitur në Fig. 1. (Ky është një mostër plotësisht funksionale dhe mund ta përdorni për të më dërguar një shënim falënderimi.)
Fig.1. Formulari i thjeshtë i reagimit
Për të vendosur një formular të tillë reagimi në një faqe interneti, ju nevojiten vetëm informacione bazë në lidhje me HTML dhe aftësinë për të përdorur dy komanda - Kopjo Dhe Fut. Le të shqyrtojmë sekuencën e veprimeve për të krijuar një formular reagimi (Fig. 1) në faqen HTML të faqes.
1. Kontrolloni që plani juaj i pritjes (zyra ku është pritur uebfaqja juaj) mbështet PHP. Nëse jo, atëherë me shumë mundësi do t'ju duhet të paguani shtesë për të kaluar në një tarifë tjetër që mbështet të njëjtën PHP. Ju nuk keni pse të kërkoni kuptimin e kësaj shkurtese, pasi nuk keni nevojë për njohuri të PHP.
2. Le të zgjedhim faqen në të cilën duam të vendosim formularin e komenteve dhe ngjisni kodin e mëposhtëm në vendin e duhur:Siç mund ta shihni, e gjithë forma krijohet nga etiketa me atribute veprim=mail.php(tregimi në faqen e faqes ku ndodhet skripti për përpunimin e të dhënave të futura) dhe metodë=post(mënyra e dërgimit të të dhënave në server). Linjat individuale të krijuara nga etiketa me atribute plotësisht të kuptueshme. Vendndodhja e elementeve individuale të formës, tekstit, shkronjave, etj. ju mund ta ndryshoni atë në përputhje me dizajnin e faqes tuaj. Në etiketë përcaktohen dimensionet e zonës për futjen e tekstit të mesazhit: numri i rreshtave dhe kolonave (rreshta = "3" cols = "25").
3. Le të krijojmë një faqe të re mail.php, i ngjashëm me HTML-në e rregullt, por me një shtrirje .php. Kodi i plotë i faqes është paraqitur në Fig. 2:
if (isset($_POST["emri"])) ($name = $_POST["emri"];)
if (isset($_POST["email"])) ($email = $_POST["email"];)
if (isset($_POST["rrëmujë"])) ($mess = $_POST["rrëmujë"];)
$to = "pupkin@rambler.ru"; /*Fut adresën tuaj të emailit*/
$headers = "Lloji i përmbajtjes: tekst/i thjeshtë; grup karakteresh = windows-1251";
$subject = "Mesazhi nga faqja juaj";
$message = "Emri i dërguesit: $name \nAdresa e emailit: $email \nMesazhi: $mess";
$send = mail($to, $subject, $message, $headers);
nëse ($send == "e vërtetë")
{
jehonë" Faleminderit për dërgimin e mesazhit tuaj!
";
jehonë" Klikoni për t'u kthyer në faqen kryesore";
}
tjetër
{
jehonë"
Gabim. Mesazhi nuk u dërgua!";
}
?>
Fig.2. Kodi i faqes së përpunimit të formularit të komenteve
Adresat e lidhjeve që duhet t'u kushtoni vëmendje janë të theksuara me të kuqe:
- pupkin@rambler.ru - zëvendësoni adresën e Pupkin me adresën tuaj të emailit, ku do të merren mesazhe nga vizitorët e faqes, si dhe nga spammers të palodhur. Nga rruga, për t'u mbrojtur kundër tyre, një e ashtuquajtur captcha shpesh futet në formë. CAPTCHA- Test Turing Publik plotësisht i automatizuar për të dalluar kompjuterët dhe njerëzit - një test publik plotësisht i automatizuar Turing për të dalluar kompjuterët dhe njerëzit). Zakonisht këto janë numra dhe shkronja shumë të shtrembëruara që ju kërkohet të futni përpara se të dërgoni një mesazh. Ne do të flasim për captcha në një nga artikujt e mëposhtëm.
Nëse dëshironi të dërgoni letra në disa adresa, atëherë thjesht rendisni ato të ndara me presje. - a href=index.html - adresa e faqes kryesore (në fillim) të faqes.
Faqja e krijuar mail.php duhet të vendoset në të njëjtin direktorium të sajtit (direktori, dosje) ku ndodhet faqja me formularin e komenteve.
Kontrolloni funksionalitetin e formularit të komenteve. Nëse gjithçka është bërë me kujdes, atëherë pasi të plotësoni formularin dhe të shtypni Dergo nje mesazh Duhet të shfaqet teksti i mëposhtëm: " Faleminderit që dërguat mesazhin tuaj. për t'u kthyer në faqen kryesore". Pas kësaj, do të gjeni në kutinë tuaj postare (ose atë tjetër që keni specifikuar kur krijoni formularin e komenteve) mesazhin tuaj për të dashurin tuaj.
Koment: në disa site pritëse, formulari i ri (sapo i instaluar në sit) i komenteve nuk fillon të funksionojë menjëherë, dhe shkronjat e para nuk mbërrijnë fare ose mbërrijnë me një vonesë prej 1-2 ditësh. Ndoshta, ka një "bluarje të ingranazheve" dhe më pas gjithçka funksionon mirë. Për më tepër, letrat nga disa faqe pritëse nuk arrijnë në adresa të caktuara, për shembull, kam pasur probleme me kutinë time postare në Rambler dhe Mail.ru. Për të zgjidhur këto probleme, kontaktoni hostin tuaj - ata zakonisht ndihmojnë.
Ndonjëherë kur përdorni formularin e komentuar të përshkruar, lindin probleme me kodimin. Nëse në një shkronjë hyrëse, në vend të alfabetit cirilik amtare, teksti përbëhet nga "kode të çmendura" ose katrorë bosh, atëherë duhet të zgjidhni manualisht kodimin, i cili natyrisht është i papërshtatshëm. Për të parandaluar që kjo të ndodhë, kontrolloni që faqja juaj me formularin e komenteve është e koduar charset=UTF-8. Nëse jeni duke përdorur programin Adobe Dreamweaver, atëherë për ta bërë këtë ju duhet të zgjidhni seksionin e menysë Redakto - Karakteristikat e faqes - Kodimi.
Problemi me kodimin e skedarëve të faqes diskutohet më në detaje në artikullin Problemet me kodimin në formularin e reagimit.
Në shembullin e përshkruar, për thjeshtësi, mesazhi për dërgimin e një letre shfaqet në një faqe të zbrazët. Sigurisht, ju mund ta vendosni atë në çdo faqe të faqes tuaj, në mënyrë që vizitori të mund të përdorë navigimin (menunë) për të zgjedhur se çfarë të bëjë më pas. Për ta bërë këtë, vendosni kodin PHP (ai që ndodhet nga<?php përpara ?> ) në vendndodhjen e dëshiruar në faqen e menysë dhe ndryshoni emrin e saj në mail.php.
Përveç postimit të vetë formularit të komenteve, këshillohet të kontrolloni nëse vizitori i ka plotësuar saktë fushat e tij. Kjo duhet bërë në mënyrë që të mos merrni letra boshe dhe kutia juaj postare të mos bllokohet me mbeturina të dërguara nga shakaxhinj që duan të shtypin një buton Dergo nje mesazh. Metodat për të kontrolluar plotësimin e formularit të komenteve dhe mbrojtjen nga spam përshkruhen në artikuj "
Në këtë mësim do të mësojmë për funksionin postë (), duke përdorur shembullin e krijimit Format e komenteve në PHP pasuar nga dërgimi i të dhënave të marra me email.
Për ta bërë këtë, ne do të krijojmë dy skedarë - format.php Dhe mail.php. Skedari i parë do të përmbajë vetëm një formular me fusha që përdoruesi të futë të dhëna. Brenda një etikete formë- butoni "Dërgo" dhe atribut veprim që i referohet mbajtësit - mail.php, është kjo që të dhënat nga formulari aksesohen kur shtypet butoni "Dërgo". Në shembullin tonë, të dhënat e formularit dërgohen në një faqe interneti të quajtur "/mail.php". Kjo faqe përmban një skript për PHP e cila përpunon të dhënat e formularit:
Kështu duket vizualisht forma në shfletues.
Më pas shkruajmë kodin për skedarin mail.php. Ne dalim me emrat tanë për variablat. NË PHP ndryshorja fillon me shenjë $ e ndjekur nga emri i ndryshores. Vlera e tekstit të ndryshores është e mbyllur në thonjëza. Duke përdorur variabla, përmbajtja e formularit dërgohet në emailin e administratorit duke vendosur thjesht emrin e elementit të formularit në kllapa katrore - vlerën emri.
$to = " [email i mbrojtur]"; // emaili i marrësit të të dhënave nga formulari
$tema = "Formulari i komenteve në PHP"; // subjekti i emailit të marrë
$message = "Emri juaj: ".$_POST["emri"]."
";//cakto ndryshores vleren e perftuar nga forma name=emri
$message .= "Email: ".$_POST["email"]."
"; //marrë nga formulari name=email
$message .= "Numri i telefonit: ".$_POST["telefon"]."
"; //merr nga forma name=phone
$message .= "Mesazhi: ".$_POST["mesazh"]."
"; //marrë nga forma name=message
$headers = "Versioni MIME: 1.0" . "\r\n"; // titulli përputhet me formatin plus karakterin e linjës së re
$headers .= "Lloji i përmbajtjes: tekst/html; charset=utf-8" . "\r\n"; // tregon llojin e përmbajtjes që dërgohet
mail ($to, $tema, $message, $headers); // dërgon vlera të ndryshueshme te marrësi me email
?>
Kështu të dhënat nga grupi $_POST do t'u kalohet variablave përkatës dhe do të dërgohet me email duke përdorur funksionin postë. Le të plotësojmë formularin tonë dhe të klikojmë butonin dërgo. Mos harroni të përfshini emailin tuaj. Letra mbërriti menjëherë.