Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows 10
  • Aplikacioni online i dërguar në html mail. Krijoni një formular reagimi në PHP

Aplikacioni online i dërguar në html mail. Krijoni një formular reagimi në PHP

Në këtë artikull, do të mësoni se si të krijoni një formular reagimi (ne do të marrim emailin e përdoruesit), i cili i siguron përdoruesit mundësinë për të bashkangjitur dhe dërguar skedarin e tij në server. Gjithashtu në këtë artikull, do të mësoni se si të kontrolloni llojin dhe madhësinë e skedarit të ngarkuar.

Formulari HTML me fushën e dorëzimit të skedarit

html e një formulari me një fushë të dorëzimit të skedarit është paraqitur më poshtë. Duke klikuar në butonin "shfleto", përdoruesi mund të zgjedhë një skedar në makinën e tij lokale.

Formulari do të duket si ky:

Vini re se ne kemi specifikuar enctype = "multipart / form-data" në atributet e formës. Kjo do t'i tregojë shfletuesit se formulari mund të përdoret për të dërguar skedarë. Ne gjithashtu shtuam fushat "emri" dhe "email" për të mbledhur sa më shumë informacion rreth përdoruesit. Më pas vjen fusha e ngarkimit të skedarit.

Kur klikoni në butonin "Dërgo", të dhënat, duke përfshirë të dhënat për skedarin që dërgohet, do të dërgohen në skedarin e trajtuesit, shtegu në të cilin kemi specifikuar në atributin e veprimit të formularit.

Marrja e informacionit në lidhje me skedarin e ngarkuar

Fillimisht do të kontrollojmë të dhënat e marra, më pas në rast verifikimi të suksesshëm do t'i dërgojmë të dhënat me e-mail.

Të gjitha informacionet rreth skedarëve të ngarkuar mund të merren duke përdorur grupin $ _FILES.

Përmbajtja e grupit $ _FILES për shembullin tonë është paraqitur më poshtë. Ju lutemi vini re se vlera e atributit të emrit (për ne është e barabartë me skedarin e ngarkuar) në fushën e përzgjedhjes së skedarit mund të jetë çdo gjë.

  • $ _FILES ["skedari_i ngarkuar"] ["emri"]
    Emri origjinal i skedarit në kompjuterin e përdoruesit.
  • $ _FILES ["skedar_i ngarkuar"] ["lloji"]
    Lloji mime i skedarit, në rast se shfletuesi jep një informacion të tillë. Shembull: "imazh / gif". Ky lloj mime nuk është i vërtetuar në PHP, prandaj mos u mbështetni në vlerën e tij pa vërtetim.
  • $ _FILES ["skedari_i ngarkuar"] ["madhësia"]
    Madhësia në bajt e skedarit të marrë.
  • $ _FILES ["skedari_i ngarkuar"] ["tmp_name"]
    Emri i përkohshëm me të cilin skedari i marrë u ruajt në server.
  • $ _FILES ["skedar_i ngarkuar"] ["gabim"]
    Një kod gabimi që mund të ndodhë gjatë ngarkimit të një skedari. Ky artikull u shtua në PHP 4.2.0

Ne marrim emrin, llojin dhe madhësinë e skedarit të ngarkuar:

// Merrni lidhjen e fundit të emrit të skedarit të ngarkuar $ name_of_uploaded_file = emri bazë ($ _ FILES ["skedari_i ngarkuar"] ["emri"]); // për shembull, index.php // merrni shtrirjen e skedarit (pa pikë) $ type_of_uploaded_file = substr ($ emri_of_loaded_file, // pozicioni i pikës + 1 strrpos ($ emri_of_ngarkuar_file, ".") + 1); $ size_of_uploaded_file = $ _FILES ["skedari_i ngarkuar"] ["madhësia"] / 1024; // madhësia në KB

Siç mund ta shihni, informacioni rreth skedarit të ngarkuar është i disponueshëm përmes grupit $ _FILES.

Kontrollimi i madhësisë dhe llojit të zgjerimit të skedarit të ngarkuar

Supozoni se skedari që rezulton duhet të jetë një imazh ("jpg", "jpeg", "gif", "bmp") dhe nuk duhet të kalojë 100 Kb. Atëherë kodi ynë do të duket si ky:

// Cilësimet $ max_allowed_file_size = 100; // madhësia në KB $ lejuar_extensions = grup ("jpg", "jpeg", "gif", "bmp"); // Kontrollon nëse ($ size_of_uploaded_file> $ max_allowed_file_size) ($ gabime. = "\ N Madhësia e skedarit duhet të jetë më e vogël se $ max_allowed_file_size";) // ------ Kontrolloni shtesën e skedarit ----- $ allow_ext = e rreme; për ($ i = 0; $ i

Në kodin e mësipërm, ne kontrollojmë madhësinë dhe llojin e skedarit. Madhësia maksimale e lejuar e skedarit është 100 KB (max_allowed_file_size $). Vargu $ allow_extensions përmban emrat e të gjitha shtesave të lejuara të skedarëve. Kështu, shtrirja e skedarit kontrollohet kundrejt vlerave në grupin $ allow_extensions. Nëse gjenden gabime, ndryshores së gabimit $ i caktohet një hyrje e përshtatshme.

Kopjoni skedarin e shkarkuar

Është koha për të dërguar skedarin e shkarkuar në postën e administratorit.

// kopjoni skedarin e përkohshëm në dosjen e ngarkimeve $ path_of_uploaded_file = $ upload_folder. $ emri_of_skedarit të ngarkuar; $ tmp_path = $ _FILES ["skedari_i ngarkuar"] ["emri_tmp"]; // ishte skedari i ngarkuar duke përdorur HTTP POST if (is_uploaded_file ($ tmp_path)) (// nëse skedari nuk është kopjuar, krijoni një gabim nëse (! copy ($ tmp_path, $ path_of_uploaded_file)) ($ gabime. = "\ n gabim gjatë kopjimit të skedarit të ngarkuar ";))

Së pari, ne duhet të kopjojmë skedarin në një dosje në server. (Në fund të skriptit, nëse skedari i marrë nuk është riemërtuar ose kopjuar në një dosje të re, ai do të fshihet automatikisht nga dosja e përkohshme.)

Kopjoni skedarin e ngarkuar në dosjen "uploads". Nëse dëshironi të riemërtoni dosjen (ngarkimet), përditësoni variablin $ upload_folder.

Sigurohuni që dosja "ngarkime" të ketë leje 777. Skedari ruhet në serverin tuaj dhe mund t'i referoheni në çdo kohë.

Dërgimi i një letre

Ne do të hartojmë dhe do t'i dërgojmë një email administratorit të faqes (ose kujtdo që dëshironi). Ne do të përdorim bibliotekën e dardhës për të dërguar dhe kompozuar letrën (shih udhëzimet e instalimit më poshtë). Klasat e dardhës PEAR :: Mail dhe PEAR :: Mail_Mime përdoren për të dërguar email me skedarë të bashkangjitur.

Së pari, ne duhet të përfshijmë skedarët e bibliotekës dardhë për këto klasa:

Include_once ("Mail.php"); include_once ("Mail_Mime / mime.php");

Më poshtë është kodi për hartimin dhe dërgimin e letrës:

$ mesazh = e re Mail_mime (); $ message-> setTXTBody ($ tekst); $ message-> addAttachment ($ path_of_uploaded_file); $ trup = $ mesazh-> marr (); $ extraheaders = grup ("Nga" => $ nga, "Subjekti" => $ subjekt, "Përgjigju-Për" => $ vizitor_email); $ headers = $ message-> headers ($ extraheaders); $ mail = Mail :: fabrika ("mail"); $ mail-> dërgo ($ tek, $ headers, $ body);

Klasa Mail_mime () do t'ju ndihmojë të krijoni një mesazh MIME. Në kodin e mësipërm, krijuam një objekt Mail_mime, përditësuam trupin e emailit ($ message-> setTXTBody ($ text);) dhe shtuam një skedar të bashkangjitur ($ message-> addAttachment (skedar)).

Përpara se të përdorni klasat PEAR, duhet të keni të instaluar PEAR në serverin tuaj. Këtu është një mënyrë e shpejtë për të instaluar PEAR:
Shkarkoni instaluesin PEAR

Ruaje skedarin si "pear-installer.php". Ngarkoni këtë skedar në serverin tuaj në çdo drejtori. Pastaj shkruani shtegun e skedarit në shfletuesin tuaj:
http://www.yourdomain.com/pear-installer.php
Shfaqet një ndërfaqe ueb për instalimin e PEAR në faqen tuaj. Ndiqni udhëzimet e instalimit. Pas instalimit të Pear, gjeni dhe instaloni paketat "mail" dhe "mail_mime".

Forma e thjeshtë me ngarkim, shkarkim

Arkivi përmban një formular të thjeshtë me dërgimin e skedarit të ngarkuar në postë.

Një nga funksionet më të kërkuara në faqe është formulari i aplikimit ose porosisë, të dhënat nga i cili dërgohen me postë te pronari i faqes. Si rregull, forma të tilla janë të thjeshta dhe përbëhen nga dy ose tre fusha për futjen e të dhënave. Si e krijoni një formular të tillë porosie? Kjo kërkon përdorimin e gjuhës së shënjimit HTML dhe gjuhës së programimit PHP.

Gjuha e shënjimit HTML në vetvete është e thjeshtë, ju vetëm duhet të kuptoni se si dhe ku të vendosni etiketa të caktuara. Me gjuhën e programimit PHP, gjërat janë pak më të komplikuara.

Nuk do të jetë e vështirë për një programues të krijojë një formë të tillë, por një kodues HTML mund ta ketë të vështirë të bëjë disa nga veprimet.

Krijoni një formular për dërgimin e të dhënave në html

Rreshti i parë do të jetë i radhës

Ky është një element shumë i rëndësishëm i formës. Në të, ne tregojmë se në çfarë mënyre do të transferohen të dhënat dhe në cilin skedar. Në këtë rast, gjithçka dërgohet me metodën POST në skedarin send.php. Programi në këtë skedar, përkatësisht, duhet të pranojë të dhënat, ato do të përmbahen në grupin e postimeve dhe t'i dërgojë në adresën e specifikuar të emailit.

Le të kthehemi te forma. Rreshti i dytë do të përmbajë një fushë për të futur emrin tuaj të plotë. Ka kodin e mëposhtëm:

Lloji i formës është tekst, domethënë përdoruesi mund të fusë ose kopjojë tekstin këtu nga tastiera. Parametri i emrit përmban emrin e formularit. Në këtë rast, kjo është fio, është nën këtë emër që do të transmetohet gjithçka që përdoruesi ka futur në këtë fushë. Parametri vendmbajtës tregon se çfarë do të shkruhet në këtë fushë në formën e një shpjegimi.

Rreshti tjetër:

Këtu, pothuajse gjithçka është e njëjtë, por emri i fushës është email, dhe shpjegimi tregon se përdoruesi duhet të fusë adresën e tij të emailit në këtë formë.

Rreshti tjetër do të jetë butoni "dorëzo":

Dhe rreshti i fundit në formë do të jetë etiketa

Tani le t'i bashkojmë të gjitha.





Tani do t'i bëjmë të detyrueshme fushat në formë. Ne kemi kodin e mëposhtëm:





Krijoni një skedar që pranon të dhëna nga një formë HTML

Ky do të jetë një skedar me emrin send.php

Në skedar, në fazën e parë, duhet të pranoni të dhëna nga grupi i postimeve. Për ta bërë këtë, ne krijojmë dy variabla:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];

Para emrave të variablave në php, vendosni një shenjë $, në fund të çdo rreshti, vendosni një pikëpresje. $ _POST është një grup në të cilin kalohen të dhënat nga formulari. Në formën html, metoda e paraqitjes specifikohet si metodë = "post". Pra, dy variabla janë marrë nga forma html. Për të mbrojtur faqen tuaj, ju duhet t'i kaloni këto variabla nëpër disa filtra - funksionet php.

Funksioni i parë konverton të gjithë karakteret që përdoruesi përpiqet të shtojë në formular:

Në këtë rast, variabla të rinj në php nuk krijohen, por përdoren ato ekzistuese. Ajo që filtri do të bëjë është të konvertojë karakterin "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Funksioni i dytë do të deshifrojë url-në nëse përdoruesi përpiqet ta shtojë atë në formular.

$ fio = urldcode ($ fio);
$ email = urldcode ($ email);

Në funksionin e tretë, ne do të heqim hapësirat nga fillimi dhe fundi i vargut, nëse ka:

$ fio = trim ($ fio);
$ email = shkurtoj ($ email);

Ka edhe funksione të tjera për të filtruar variablat php. Përdorimi i tyre varet nga sa keni frikë se një sulmues do të përpiqet të shtojë kod në këtë formë të dërgimit të të dhënave në postën html.

Verifikimi i të dhënave të kaluar nga forma HTML në skedarin PHP

Për të kontrolluar nëse ky kod funksionon, nëse të dhënat transmetohen, thjesht mund ta shfaqni atë në ekran duke përdorur funksionin echo:

jehonë $ fio;
jehonë"
";
jehonë $ fio;

Rreshti i dytë është këtu për të ndarë prodhimin e variablave php në linja të ndryshme.

Dërgimi i të dhënave të marra nga formulari HTML në postë duke përdorur PHP

Për të dërguar të dhëna në postë, duhet të përdorni funksionin e postës në PHP.

postë ("në cilën adresë të dërgohet", "subjekti i letrës", "Mesazhi (trupi i mesazhit)", "Nga: nga cila adresë e-mail dërgohet letra \ r \ n");

Për shembull, ju duhet të dërgoni të dhëna në adresën e emailit të pronarit ose menaxherit të faqes [email i mbrojtur]

Subjekti i emailit duhet të jetë i qartë dhe mesazhi i emailit duhet të përmbajë atë që përdoruesi ka specifikuar në formularin HTML.

postë (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n ");

Duhet të shtoni një kusht që do të kontrollojë nëse formulari është dorëzuar duke përdorur PHP në adresën e specifikuar të emailit.

nëse (mail (" [email i mbrojtur]"," Porosit nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))
{
echo "mesazhi u dërgua me sukses";
) tjeter (
}

Kështu, kodi i programit të skedarit send.php që do të dërgojë të dhënat e formularit HTML në postë do të duket kështu:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldcode ($ fio);
$ email = urldcode ($ email);
$ fio = trim ($ fio);
$ email = shkurtoj ($ email);
// jehonë $ fio;
// jehonë "
";
// echo $ email;
nëse (mail (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))
(jehonë "mesazhi u dërgua me sukses";
) tjeter (
jehonë "gabimet ndodhën gjatë dërgimit të mesazhit";
}?>

Tre rreshta për të kontrolluar nëse të dhënat e kaluara në skedar janë komentuar. Nëse është e nevojshme, mund t'i hiqni ato, pasi ato nevojiteshin vetëm për korrigjimin e gabimeve.

Vendosja e kodit HTML dhe PHP për dërgimin e formularit në një skedar

Në komentet e këtij artikulli, shumë njerëz shtrojnë pyetjen se si të krijojnë formën HTML dhe kodin PHP për dërgimin e të dhënave në postë në një skedar, jo në dy.

Për të zbatuar një punë të tillë, duhet të vendosni kodin HTML të formularit në skedarin send.php dhe të shtoni një kusht që do të kontrollojë praninë e variablave në grupin POST (ky grup kalohet nga formulari). Kjo do të thotë, nëse variablat në grup nuk ekzistojnë, atëherë duhet t'i tregoni formularin përdoruesit. Përndryshe, ju duhet të pranoni të dhëna nga grupi dhe t'i dërgoni ato te adresuesi.

Le të shohim se si të ndryshojmë kodin PHP në skedarin send.php:



Formulari i aplikimit nga faqja


// kontrolloni nëse variablat ekzistojnë në grupin POST
nëse (! isset ($ _ POST ["fio"]) dhe! isset ($ _ POST ["email"])) (
?>





) tjeter (
// tregoni formën
$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldcode ($ fio);
$ email = urldcode ($ email);
$ fio = trim ($ fio);
$ email = shkurtoj ($ email);
nëse (mail (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n ")) (
echo "Mesazhi u dërgua me sukses";
) tjeter (
echo "Ka pasur gabime në dërgimin e mesazhit";
}
}
?>

Ne kontrollojmë ekzistencën e një variabli në grupin POST duke përdorur funksionin PHP isset (). Një pikëçuditëse përpara këtij funksioni në një kusht do të thotë mohim. Kjo do të thotë, nëse ndryshorja nuk ekziston, atëherë duhet të tregojmë formën tonë. Nëse nuk do të kisha vendosur një pikëçuditëse, atëherë kushti do të thoshte fjalë për fjalë - "nëse ekziston, atëherë trego formën". Dhe kjo është e gabuar në rastin tonë. Natyrisht, ju mund ta riemërtoni atë në index.php. Nëse e riemërtoni skedarin, atëherë mos harroni të riemërtoni emrin e skedarit dhe në rresht

... Formulari duhet të lidhet me të njëjtën faqe, për shembull index.php. I shtova kodit titullin e faqes.

Gabime të zakonshme që ndodhin kur dërgoni një formular PHP nga një sajt

Gabimi i parë, ndoshta më i zakonshëm, është kur shihni një faqe të bardhë bosh pa mesazhe. Kjo do të thotë që ju keni bërë një gabim në kodin e faqes. Duhet të aktivizoni shfaqjen e të gjitha gabimeve në PHP dhe më pas do të shihni se ku është bërë gabimi. Shtoni në kodin tuaj:

ini_set ("gabimet_afishimi", "On");
raportimi i gabimit ("E_ALL");

Skedari send.php duhet vetëm të ekzekutohet në server, përndryshe kodi thjesht nuk do të funksionojë. Është e dëshirueshme që ky të mos jetë një server lokal, pasi nuk është gjithmonë i konfiguruar për të dërguar të dhëna në një server të jashtëm poste. Nëse e përdorni kodin në një anë jo server, kodi PHP do të shfaqet drejtpërdrejt në faqe.

Kështu, për funksionimin e saktë, unë rekomandoj vendosjen e skedarit send.php në sitin pritës. Atje, si rregull, gjithçka është konfiguruar tashmë.

Një gabim tjetër i zakonshëm është kur shfaqet njoftimi "Mesazhi u dërgua me sukses" dhe letra nuk mbërrin në postë. Në këtë rast, duhet të kontrolloni me kujdes linjën:

nëse (mail (" [email i mbrojtur]"," Porosit nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))

Në vend të [email i mbrojtur] duhet të ketë një adresë emaili në të cilën dëshironi të dërgoni letrën, dhe në vend të[email i mbrojtur] duhet të ketë një email ekzistues të kësaj faqeje. Për shembull, për një faqe, faqja do të jetë ... Vetëm në këtë rast do të dërgohet një letër me të dhënat nga formulari.

Në këtë mësim do të njihemi me funksionin postë (), duke përdorur shembullin e krijimit Format e reagimit PHP me dërgimin e mëvonshëm të të dhënave të marra në postë.

Për këtë, ne do të krijojmë dy skedarë - forma.php dhe mail.php... Skedari i parë do të përmbajë vetëm një formular me fusha për futjen e të dhënave nga përdoruesi. Brenda etiketës formë- butoni "Dërgo" dhe atribut veprim që i referohet mbajtësit - mail.php, është tek ai 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:


Të dhënat e formularit dërgohen me metodë POST(përpunuar si $ _POST). $ _POSTështë një grup variablash që i kalohen skriptit aktual përmes metodës POST.

Më poshtë mund të shihni përmbajtjen e skedarit forma.php, fushat e të cilave plotësohen nga vetë përdoruesi në ndonjë faqe interneti. Të gjitha fushat për futjen e të dhënave duhet të kenë atributin emri, vlerat i përshkruajmë vetë, bazuar në logjikë.




Formulari i komenteve në PHP me dërgimin në postë


Formulari i komenteve në PHP







Lini një mesazh:
Emri juaj:



Email:

Numri i telefonit:

Mesazh:

Zona e tekstit mund të përmbajë një numër të pakufizuar karakteresh ->







Kështu duket vizualisht forma në shfletues.

Më pas, ne shkruajmë kodin për skedarin mail.php... Ardhja me emrat për variablat. V PHP ndryshorja fillon me një shenjë $ dhe më pas emri i ndryshores. Vlera e tekstit të ndryshores është e mbyllur në thonjëza. Me ndihmën e variablave, përmbajtja e formularit dërgohet në emailin e administratorit, thjesht duke zëvendësuar emrin e elementit të formularit në kllapa katrore - vlerën emri.

$ në = " [email i mbrojtur]"; // emaili i marrësit të të dhënave nga formulari
$ tema = "Formulari i komenteve PHP"; // subjekti i emailit të marrë
$ message = "Emri juaj:". $ _ POST ["emri"]."
"; // cakto variablit vlerën e marrë nga forma emri = emri
$ message. = "E-mail:". $ _ POST ["email"]."
"; // marrë nga formulari emri = email
$ message. = "Numri i telefonit:". $ _ POST ["telefon"]."
"; // marrë nga forma emri = telefon
$ message. = "Mesazhi:". $ _ POST ["mesazh"]."
"; // marrë nga forma emri = mesazh
$ headers = "MIME-Version: 1.0". "\ r \ n"; // titulli përputhet me formatin plus një karakter të furnizimit të linjës
$ headers = "Lloji i përmbajtjes: tekst / html; grup karakteresh = utf-8". "\ r \ n"; // tregon llojin e përmbajtjes që dërgohet
mail ($ te, $ tema, $ mesazh, $ headers); // dërgoni vlerat e 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 në postë duke përdorur funksionin postë... Le të plotësojmë formularin tonë dhe të shtypim butonin e dorëzimit. Mos harroni të përfshini e-mailin tuaj. Letra mbërriti menjëherë.

»Skripti Sendmail PHP

PHPSendMail

Për të përdorur formularin, thjesht duhet të futni cilësimet e postës tuaj dhe kaq. Në përgjithësi, skripti është gati për t'u përdorur dhe ky formular reagimi për një sajt HTML me një procesor PHP është ideal për faqet e vogla, faqet e kartave të biznesit.

| Shkarkuar: herë

Thjeshtë PHP Dërgo Mail

Me këtë skript shumë të lehtë php, vizitorët e faqes suaj të internetit do të jenë në gjendje t'ju dërgojnë email direkt përmes formularit të komenteve.

| Shkarkuar: herë

Skript PHP + AJAX për dërgimin e formularëve në E-mail

Një skrip universal për dërgimin e të dhënave nga formularët në email. Skripti është ideal për faqe si Landing Page, faqet e kartave të biznesit, etj.

| Shkarkuar: herë

Finalja e PHP Mailer me captcha

Skripti shfaq formularin dhe, pas plotësimit të fushave të kërkuara, dërgon një mesazh në emailin tuaj. Skripti ka mbrojtje të integruar kundër robotëve: përpara se të dërgoni një letër, duhet të futni një captcha.

| Shkarkuar: herë

GentleSource Form Mail

Ju mund të zgjidhni midis dy opsioneve: ose përdoruesi të ridrejtohet në faqen e falenderimeve me tekstin tuaj, ose përdoruesit t'i tregohet informacioni që mesazhi është dërguar me sukses.

| Shkarkuar: herë

Mikro-mailer

Micro Mailer është një skrip i vogël PHP që ju lejon juve dhe vizitorëve të faqes tuaj t'i dërgoni një email çdo marrësi.

| Shkarkuar: herë

Web4you-FM

Web4you-FM Dërgimi i një letre nga faqja juaj. Mundësitë: 1 - Përzgjedhja e adresuesit dhe sa do të jenë (nga 1 në 4). 2 - Kontrollimi i korrektësisë së plotësimit të formularit. Kujt. Emri, vetëm shkronjat ...

| v.1.0 | Shkarkuar: herë

Formulari i kontaktit i lehtë PHP

Një skrip kaq i thjeshtë për dërgimin e postës përmes formularit të reagimit që edhe një person që nuk njeh gjuhën PHP / HTML mund ta përdorë programin pa vështirësi ...

| Shkarkuar: herë

DodosMail

DodosMail është një skrip PHP i lehtë për t'u instaluar që ju lejon të dërgoni email përmes një formulari kontakti në faqen tuaj të internetit. Thjesht duhet të shkarkoni skedarin php.

| v.2.5 | Shkarkuar: herë

Formulari i Kontaktit PHP

Skripti i Formularit të Kontaktit PHP përfshin funksionet e mëposhtme: 1) një funksion për të parandaluar mesazhet e padëshiruara. Përdoruesi duhet të fusë një kod sigurie, i njohur gjithashtu si captcha.

| Shkarkuar: herë

Kontakti i TPCS (formulari i emailit)

Ky skrip i kontaktit TPCS do t'i lejojë vizitorët tuaj t'ju kontaktojnë përmes një formulari kontakti. Të gjitha informacionet do t'ju dërgohen me email.

| Shkarkuar: herë

Postues i komenteve

Postuesi i komenteve ridrejton të gjitha informacionet nga formulari i komenteve në faqen tuaj direkt në emailin tuaj. Ky skenar i vogël trajton të gjitha kërkesat shumë shpejt.

| v.1.2 | Shkarkuar: herë

Formulari i lehtë i kontaktit PHP

Një skrip i thjeshtë, por i sigurt PHP për të kontaktuar një webmaster duke përdorur një formular reagimi me një kontroll kodi (CAPCHA) për të parandaluar mesazhet e padëshiruara.

| v.2.1 | Shkarkuar: herë

Formulari i kontaktit PHP (me verifikim imazhi)

Një formë kontakti që parandalon mesazhet e padëshiruara duke i kërkuar përdoruesit të fusë kodin e sigurisë nga fotografia. Nëse përdorni një formular shumë të thjeshtë reagimi, herët a vonë spammers do të gjejnë një mënyrë për t'ju dërguar automatikisht reklama.

| Shkarkuar: herë

CW3 Forma Email

Skripti është shumë i lehtë për t'u instaluar dhe përshtatur për pamjen e faqes tuaj. Mund të ndryshoni madhësinë e formularit të komenteve dhe tekstin e mesazhit që do të shfaqet kur emaili të dërgohet me sukses.

| v.3.30 | Shkarkuar: herë

Formulari i Kontaktit reCAPTCHA

Ky skrip falas i komenteve PHP e bën shumë më të lehtë marrjen e emaileve ose komenteve nga vizitorët tuaj. Vizitori juaj, ju vetëm duhet të plotësoni të gjitha fushat e kërkuara të kontaktit ...

| v.1.4 | Shkarkuar: herë

phMailer

phMailer është një skrip shumë i thjeshtë reagimi PHP që mbështet bashkëngjitjet falë funksionit të integruar të postës () të PHP.

Një nga funksionet më të kërkuara në faqe është formulari i aplikimit ose porosisë, të dhënat nga i cili dërgohen me postë te pronari i faqes. Si rregull, forma të tilla janë të thjeshta dhe përbëhen nga dy ose tre fusha për futjen e të dhënave. Si e krijoni një formular të tillë porosie? Kjo kërkon përdorimin e gjuhës së shënjimit HTML dhe gjuhës së programimit PHP.

Gjuha e shënjimit HTML në vetvete është e thjeshtë, ju vetëm duhet të kuptoni se si dhe ku të vendosni etiketa të caktuara. Me gjuhën e programimit PHP, gjërat janë pak më të komplikuara.

Nuk do të jetë e vështirë për një programues të krijojë një formë të tillë, por një kodues HTML mund ta ketë të vështirë të bëjë disa nga veprimet.

Krijoni një formular për dërgimin e të dhënave në html

Rreshti i parë do të jetë i radhës

Ky është një element shumë i rëndësishëm i formës. Në të, ne tregojmë se në çfarë mënyre do të transferohen të dhënat dhe në cilin skedar. Në këtë rast, gjithçka dërgohet me metodën POST në skedarin send.php. Programi në këtë skedar, përkatësisht, duhet të pranojë të dhënat, ato do të përmbahen në grupin e postimeve dhe t'i dërgojë në adresën e specifikuar të emailit.

Le të kthehemi te forma. Rreshti i dytë do të përmbajë një fushë për të futur emrin tuaj të plotë. Ka kodin e mëposhtëm:

Lloji i formës është tekst, domethënë përdoruesi mund të fusë ose kopjojë tekstin këtu nga tastiera. Parametri i emrit përmban emrin e formularit. Në këtë rast, kjo është fio, është nën këtë emër që do të transmetohet gjithçka që përdoruesi ka futur në këtë fushë. Parametri vendmbajtës tregon se çfarë do të shkruhet në këtë fushë në formën e një shpjegimi.

Rreshti tjetër:

Këtu, pothuajse gjithçka është e njëjtë, por emri i fushës është email, dhe shpjegimi tregon se përdoruesi duhet të fusë adresën e tij të emailit në këtë formë.

Rreshti tjetër do të jetë butoni "dorëzo":

Dhe rreshti i fundit në formë do të jetë etiketa

Tani le t'i bashkojmë të gjitha.





Tani do t'i bëjmë të detyrueshme fushat në formë. Ne kemi kodin e mëposhtëm:





Krijoni një skedar që pranon të dhëna nga një formë HTML

Ky do të jetë një skedar me emrin send.php

Në skedar, në fazën e parë, duhet të pranoni të dhëna nga grupi i postimeve. Për ta bërë këtë, ne krijojmë dy variabla:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];

Para emrave të variablave në php, vendosni një shenjë $, në fund të çdo rreshti, vendosni një pikëpresje. $ _POST është një grup në të cilin kalohen të dhënat nga formulari. Në formën html, metoda e paraqitjes specifikohet si metodë = "post". Pra, dy variabla janë marrë nga forma html. Për të mbrojtur faqen tuaj, ju duhet t'i kaloni këto variabla nëpër disa filtra - funksionet php.

Funksioni i parë konverton të gjithë karakteret që përdoruesi përpiqet të shtojë në formular:

Në këtë rast, variabla të rinj në php nuk krijohen, por përdoren ato ekzistuese. Ajo që filtri do të bëjë është të konvertojë karakterin "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Funksioni i dytë do të deshifrojë url-në nëse përdoruesi përpiqet ta shtojë atë në formular.

$ fio = urldcode ($ fio);
$ email = urldcode ($ email);

Në funksionin e tretë, ne do të heqim hapësirat nga fillimi dhe fundi i vargut, nëse ka:

$ fio = trim ($ fio);
$ email = shkurtoj ($ email);

Ka edhe funksione të tjera për të filtruar variablat php. Përdorimi i tyre varet nga sa keni frikë se një sulmues do të përpiqet të shtojë kod në këtë formë të dërgimit të të dhënave në postën html.

Verifikimi i të dhënave të kaluar nga forma HTML në skedarin PHP

Për të kontrolluar nëse ky kod funksionon, nëse të dhënat transmetohen, thjesht mund ta shfaqni atë në ekran duke përdorur funksionin echo:

jehonë $ fio;
jehonë"
";
jehonë $ fio;

Rreshti i dytë është këtu për të ndarë prodhimin e variablave php në linja të ndryshme.

Dërgimi i të dhënave të marra nga formulari HTML në postë duke përdorur PHP

Për të dërguar të dhëna në postë, duhet të përdorni funksionin e postës në PHP.

postë ("në cilën adresë të dërgohet", "subjekti i letrës", "Mesazhi (trupi i mesazhit)", "Nga: nga cila adresë e-mail dërgohet letra \ r \ n");

Për shembull, ju duhet të dërgoni të dhëna në adresën e emailit të pronarit ose menaxherit të faqes [email i mbrojtur]

Subjekti i emailit duhet të jetë i qartë dhe mesazhi i emailit duhet të përmbajë atë që përdoruesi ka specifikuar në formularin HTML.

postë (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n ");

Duhet të shtoni një kusht që do të kontrollojë nëse formulari është dorëzuar duke përdorur PHP në adresën e specifikuar të emailit.

nëse (mail (" [email i mbrojtur]"," Porosit nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))
{
echo "mesazhi u dërgua me sukses";
) tjeter (
}

Kështu, kodi i programit të skedarit send.php që do të dërgojë të dhënat e formularit HTML në postë do të duket kështu:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldcode ($ fio);
$ email = urldcode ($ email);
$ fio = trim ($ fio);
$ email = shkurtoj ($ email);
// jehonë $ fio;
// jehonë "
";
// echo $ email;
nëse (mail (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))
(jehonë "mesazhi u dërgua me sukses";
) tjeter (
jehonë "gabimet ndodhën gjatë dërgimit të mesazhit";
}?>

Tre rreshta për të kontrolluar nëse të dhënat e kaluara në skedar janë komentuar. Nëse është e nevojshme, mund t'i hiqni ato, pasi ato nevojiteshin vetëm për korrigjimin e gabimeve.

Vendosja e kodit HTML dhe PHP për dërgimin e formularit në një skedar

Në komentet e këtij artikulli, shumë njerëz shtrojnë pyetjen se si të krijojnë formën HTML dhe kodin PHP për dërgimin e të dhënave në postë në një skedar, jo në dy.

Për të zbatuar një punë të tillë, duhet të vendosni kodin HTML të formularit në skedarin send.php dhe të shtoni një kusht që do të kontrollojë praninë e variablave në grupin POST (ky grup kalohet nga formulari). Kjo do të thotë, nëse variablat në grup nuk ekzistojnë, atëherë duhet t'i tregoni formularin përdoruesit. Përndryshe, ju duhet të pranoni të dhëna nga grupi dhe t'i dërgoni ato te adresuesi.

Le të shohim se si të ndryshojmë kodin PHP në skedarin send.php:



Formulari i aplikimit nga faqja


// kontrolloni nëse variablat ekzistojnë në grupin POST
nëse (! isset ($ _ POST ["fio"]) dhe! isset ($ _ POST ["email"])) (
?>





) tjeter (
// tregoni formën
$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldcode ($ fio);
$ email = urldcode ($ email);
$ fio = trim ($ fio);
$ email = shkurtoj ($ email);
nëse (mail (" [email i mbrojtur]"," Aplikim nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n ")) (
echo "Mesazhi u dërgua me sukses";
) tjeter (
echo "Ka pasur gabime në dërgimin e mesazhit";
}
}
?>

Ne kontrollojmë ekzistencën e një variabli në grupin POST duke përdorur funksionin PHP isset (). Një pikëçuditëse përpara këtij funksioni në një kusht do të thotë mohim. Kjo do të thotë, nëse ndryshorja nuk ekziston, atëherë duhet të tregojmë formën tonë. Nëse nuk do të kisha vendosur një pikëçuditëse, atëherë kushti do të thoshte fjalë për fjalë - "nëse ekziston, atëherë trego formën". Dhe kjo është e gabuar në rastin tonë. Natyrisht, ju mund ta riemërtoni atë në index.php. Nëse e riemërtoni skedarin, atëherë mos harroni të riemërtoni emrin e skedarit dhe në rresht

... Formulari duhet të lidhet me të njëjtën faqe, për shembull index.php. I shtova kodit titullin e faqes.

Gabime të zakonshme që ndodhin kur dërgoni një formular PHP nga një sajt

Gabimi i parë, ndoshta më i zakonshëm, është kur shihni një faqe të bardhë bosh pa mesazhe. Kjo do të thotë që ju keni bërë një gabim në kodin e faqes. Duhet të aktivizoni shfaqjen e të gjitha gabimeve në PHP dhe më pas do të shihni se ku është bërë gabimi. Shtoni në kodin tuaj:

ini_set ("gabimet_afishimi", "On");
raportimi i gabimit ("E_ALL");

Skedari send.php duhet vetëm të ekzekutohet në server, përndryshe kodi thjesht nuk do të funksionojë. Është e dëshirueshme që ky të mos jetë një server lokal, pasi nuk është gjithmonë i konfiguruar për të dërguar të dhëna në një server të jashtëm poste. Nëse e përdorni kodin në një anë jo server, kodi PHP do të shfaqet drejtpërdrejt në faqe.

Kështu, për funksionimin e saktë, unë rekomandoj vendosjen e skedarit send.php në sitin pritës. Atje, si rregull, gjithçka është konfiguruar tashmë.

Një gabim tjetër i zakonshëm është kur shfaqet njoftimi "Mesazhi u dërgua me sukses" dhe letra nuk mbërrin në postë. Në këtë rast, duhet të kontrolloni me kujdes linjën:

nëse (mail (" [email i mbrojtur]"," Porosit nga faqja "," Emri i plotë: ". $ Fio.". E-mail: ". $ Email," Nga: [email i mbrojtur]\ r \ n "))

Në vend të [email i mbrojtur] duhet të ketë një adresë emaili në të cilën dëshironi të dërgoni letrën, dhe në vend të[email i mbrojtur] duhet të ketë një email ekzistues të kësaj faqeje. Për shembull, për një faqe, faqja do të jetë ... Vetëm në këtë rast do të dërgohet një letër me të dhënat nga formulari.

Artikujt kryesorë të lidhur