Ինչպես ուղարկել էջի հասցեն: Ինչպես ուղարկել ձեզ վեբ էջ միայն մեկ սեղմումով: Տեղադրեք HTML և PHP ձևի ներկայացման կոդը մեկ ֆայլում
Կայքում ամենապահանջված գործառույթներից մեկը դիմումի կամ պատվերի ձևն է, որից տվյալները ուղարկվում են կայքի սեփականատիրոջ փոստին։ Որպես կանոն, նման ձևերը պարզ են և բաղկացած են տվյալների մուտքագրման երկու կամ երեք դաշտերից։ Ինչպե՞ս ստեղծել նման պատվերի ձև: Սա կպահանջի օգտագործել HTML նշագրման լեզուն և լեզուն PHP ծրագրավորում.
HTML նշագրման լեզուն ինքնին պարզ է, դուք պարզապես պետք է պարզեք, թե ինչպես և որտեղ տեղադրել որոշակի պիտակներ: PHP ծրագրավորման լեզվով ամեն ինչ մի փոքր ավելի բարդ է:
Ծրագրավորողի համար դժվար չէ ստեղծել նման ձև, բայց որոշ գործողություններ կարող են դժվար թվալ HTML կոդավորողի համար:
html ներկայացնելու ձևի ստեղծում
Առաջին տողը կլինի հաջորդը
Հիմա եկեք բոլորը միասին հավաքենք:
Այժմ դաշտերը ձևով պարտադիր դարձնենք։ Մենք ունենք հետևյալ կոդը.
Ստեղծեք ֆայլ, որն ընդունում է տվյալներ HTML ձևից
Սա կլինի send.php անունով ֆայլ
Ֆայլում, առաջին փուլում, դուք պետք է ստանաք տվյալներ գրառումների զանգվածից: Դա անելու համար մենք ստեղծում ենք երկու փոփոխական.
$fio = $_POST["fio"];
$email = $_POST["email"];
php-ում փոփոխականների անուններին նախորդում է $ նշանը, և յուրաքանչյուր տողի վերջում դրվում է ստորակետ։ $_POST-ը զանգված է, որին փոխանցվում են ձևի տվյալները: html ձևի մեջ նշված է ուղարկելու մեթոդ=փոստը։ Այսպիսով, երկու փոփոխական վերցված են html ձևերը. Ձեր կայքը պաշտպանելու նպատակով դուք պետք է անցնեք այս փոփոխականները մի քանի ֆիլտրերի միջով՝ php ֆունկցիաներ։
Առաջին գործառույթը կփոխակերպի բոլոր նիշերը, որոնք օգտվողը կփորձի ավելացնել ձևին.
Այս դեպքում php-ում նոր փոփոխականներ չեն ստեղծվում, այլ օգտագործվում են գոյություն ունեցողները։ Այն, ինչ ֆիլտրը կանի, նիշը փոխարկելու է:<" в "<". Также он поступить с другими символами, встречающимися в html коде.
Երկրորդ ֆունկցիան վերծանում է url-ը, եթե օգտագործողը փորձում է այն ավելացնել ձևին:
$ fio = urldcode ($ fio);
$email = urldcode ($email);
Երրորդ ֆունկցիայի միջոցով մենք կհեռացնենք տողի սկզբից և վերջից բացատները, եթե այդպիսիք կան.
$ fio = կտրել ($ fio);
$email = կրճատում ($email);
Կան այլ գործառույթներ, որոնք թույլ են տալիս զտել php փոփոխականները: Դրանց օգտագործումը կախված է նրանից, թե որքանով եք վախենում, որ հարձակվողը կփորձի ծրագրային կոդը ավելացնել html փոստին տվյալներ ուղարկելու այս ձևին։
Վավերացրեք HTML ձևից PHP ֆայլ փոխանցված տվյալները
Որպեսզի ստուգեք, թե արդյոք այս կոդը աշխատում է, արդյոք տվյալները փոխանցվում են, կարող եք պարզապես ցուցադրել այն էկրանին, օգտագործելով echo ֆունկցիան.
արձագանք $fio;
արձագանք»
";
echo $ էլ.
Այստեղ երկրորդ տողը անհրաժեշտ է php փոփոխականների ելքը տարբեր տողերի բաժանելու համար։
Ստացված տվյալները HTML ձևից փոստ ուղարկել PHP-ի միջոցով
Փոստին տվյալներ ուղարկելու համար անհրաժեշտ է օգտագործել PHP-ի փոստի գործառույթը:
mail(«որ հասցեով ուղարկել», «նամակի թեմա», «Հաղորդագրություն (նամակի հիմնական մասը)», «Ումից. որից էլ. նամակն է ուղարկվում \r\n»);
Օրինակ, դուք պետք է տվյալներ ուղարկեք կայքի սեփականատիրոջ կամ կառավարչի էլ.փոստին [էլփոստը պաշտպանված է]
Նամակի թեման պետք է հստակ լինի, և նամակի հաղորդագրությունը պետք է պարունակի այն, ինչ օգտագործողը նշել է HTML ձևով:
փոստ (" [էլփոստը պաշտպանված է]", "Application from the site", "Name:".$fio.": փոստ՝ ".$email ,"From: [էլփոստը պաշտպանված է]\r\n");
Դուք պետք է ավելացնեք պայման, որը կստուգի, արդյոք ձևն ուղարկվել է PHP-ի միջոցով նշված էլ. հասցեին:
եթե (փոստ (" [էլփոստը պաշտպանված է]", "Պատվիրել կայքից", "Name:".$fio.": փոստ՝ ".$email ,"From: [էլփոստը պաշտպանված է]\r\n"))
{
echo «հաղորդագրությունը հաջողությամբ ուղարկվեց»;
) ուրիշ (
}
Այսպիսով, send.php ֆայլի ծրագրային կոդը, որը կուղարկի HTML ձևի տվյալները փոստին, կունենա հետևյալ տեսքը.
$fio = $_POST["fio"];
$email = $_POST["email"];
$ fio = htmlspecialchars ($ fio);
$email = htmlspecialchars ($email);
$ fio = urldcode ($ fio);
$email = urldcode ($email);
$ fio = կտրել ($ fio);
$email = կրճատում ($email);
//echo $fio;
// արձագանք»
";
//echo $email;
եթե (փոստ (" [էլփոստը պաշտպանված է]", "Application from the site", "Name:".$fio.": փոստ՝ ".$email ,"From: [էլփոստը պաշտպանված է]\r\n"))
( echo «հաղորդագրությունը հաջողությամբ ուղարկվեց»;
) ուրիշ (
echo «սխալներ են տեղի ունեցել հաղորդագրություն ուղարկելիս»;
}?>
Երեք տողերը ստուգելու համար, թե արդյոք տվյալները փոխանցվում են ֆայլին, մեկնաբանվում են: Անհրաժեշտության դեպքում դրանք կարող են հեռացվել, քանի որ դրանք անհրաժեշտ էին միայն վրիպազերծման համար:
Տեղադրեք HTML և PHP ձևի ներկայացման կոդը մեկ ֆայլում
Այս հոդվածի մեկնաբանություններում շատերը հարցնում են, թե ինչպես կարելի է այնպես անել, որ և՛ HTML ձևը, և՛ PHP կոդը՝ փոստին տվյալներ ուղարկելու համար, լինեն մեկ ֆայլում, ոչ թե երկու:
Այս աշխատանքն իրականացնելու համար պետք է send.php ֆայլում տեղադրել ձևի HTML կոդը և ավելացնել պայման, որը կստուգի POST զանգվածում փոփոխականների առկայությունը (այս զանգվածը փոխանցվում է ձևից)։ Այսինքն, եթե զանգվածի փոփոխականները գոյություն չունեն, ապա դուք պետք է օգտագործողին ցույց տաք ձև: Հակառակ դեպքում, դուք պետք է վերցնեք տվյալները զանգվածից և ուղարկեք հասցեատիրոջը:
Տեսնենք, թե ինչպես փոխել PHP կոդը send.php ֆայլում.
//ստուգեք, արդյոք փոփոխականներ կան POST զանգվածում
if(!isset($_POST["fio"]) և !isset($_POST["email"]))(
?> ) ուրիշ (
//ցույց տալ ձևը
$fio = $_POST["fio"];
$email = $_POST["email"];
$ fio = htmlspecialchars ($ fio);
$email = htmlspecialchars ($email);
$ fio = urldcode ($ fio);
$email = urldcode ($email);
$ fio = կտրել ($ fio);
$email = կրճատում ($email);
եթե (փոստ (" [էլփոստը պաշտպանված է]", "Application from the site", "Name:".$fio.": փոստ՝ ".$email ,"From: [էլփոստը պաշտպանված է]\r\n"))(
echo «Հաղորդագրությունը հաջողությամբ ուղարկվեց»;
) ուրիշ (
echo «Սխալներ են տեղի ունեցել հաղորդագրություն ուղարկելիս»;
}
}
?>
Մենք ստուգում ենք փոփոխականի առկայությունը POST զանգվածում PHP isset() ֆունկցիայով։ Պայմանում այս ֆունկցիայից առաջ բացականչական նշանը նշանակում է ժխտում: Այսինքն, եթե փոփոխականը գոյություն չունի, ապա մենք պետք է ցույց տանք մեր ձևը։ Եթե բացականչական նշան չդնեի, ապա պայմանը բառացի կնշանակեր՝ «եթե կա, ուրեմն ցույց տուր ձևը»։ Եվ սա սխալ է մեր դեպքում։ Բնականաբար, դուք կարող եք վերանվանել այն index.php: Եթե վերանվանեք ֆայլը, ապա մի մոռացեք վերանվանել ֆայլի անունը և տողում