Кері байланыс нысаны - кез-келген күрделі мәселелерді шешу үшін жасалған сайттың міндетті атрибуты. Сайтқа кірушіден оның иесіне электрондық поштаны ұйымдастырудың қарапайым әдістерінің бірі - PHP пошта командасын пайдалану. Төменде мұны қалай жасау керектігі туралы қадамдық нұсқаулық берілген.
Бұл қажетті
PHP және HTML тілдерін білу
Нұсқаулық
1-қадам
1-қадам: жаңа PHP құжатын жасаңыз.
Кез-келген мәтіндік редакторда (мысалы, стандартты блокнотта) жаңа құжат жасаңыз. Оған дереу парақтың html-кодының кадрларын енгізіңіз, оны электрондық пошта хабарламаларын жіберу механизмін құру кезінде толықтырасыз:
Электрондық пошта хабарламасын жіберу
2-қадам
2-қадам: құжатыңызға html формасын қосыңыз.
Енді html тегтері мен браузерге келушінің деректерді енгізіп, оны серверге жіберуіне арналған форманы көрсететін нұсқауларын қосу керек. Біріншіден, форманың ашылатын тегі:
Әдіс атрибуты браузердің ақпаратты серверге қалай жіберуі керектігін анықтайды.
Мұнда сізге php-де нұсқаулық енгізу керек - ол серверге мәліметтерді жібергеннен кейін келушіге хабарлама береді және олар сценариймен өңделеді:
Келесі жолда келуші өз атын енгізу керек өріс болады:
Сіздің атыңыз:
Мұнда тип атрибуты осы форма элементінің түрін - қарапайым мәтін ұясын анықтайды. Ал атрибут - бұл өріске енгізілген айнымалының аты, ол серверге беріледі - аты. Тег
- «вагонның қайтуы».
Одан кейін келушіге онымен байланысу үшін электрондық пошта мекенжайын көрсетуге мүмкіндік беруіңіз керек:
Электрондық пошта:
Мұнда бәрі алдыңғы жолға ұқсас. Серверге келушінің электрондық пошта мекенжайы жіберілетін айнымалының атауы - электрондық пошта.
Енді хабарлама мәтінін енгізу үшін көп беттік мәтін өрісін (textarea тегі) қосу керек:
Хабар:
Жолдар мен нүктелер атрибуттары осы өрістің өлшемін көрсетеді - жолдар жолдар санын, ал колондар әр жолдағы символдар санын анықтайды. Енгізілген мәтін mess деп аталатын айнымалы түрінде жіберіледі.
Барлық өрістерден кейін хабарлама жіберу үшін түймені қосыңыз:
Бұл тегтің мән атрибуты батырмадағы белгінің мәтінін қамтиды («Жіберу»).
PHP сценарийі үшін тағы бір айнымалы қажет болады, оны формадағы мәліметтермен бірге жіберу керек. Оны келушіден жасырылған форма элементіне орналастырыңыз:
Бұл айнымалының атауы «әрекет», ал жіберілген мәні «жіберу».
Тек жабылатын форма тегін қосу керек:
3-қадам
3-қадам: пішіндегі деректерді өңдеу үшін php кодын қосыңыз.
«Жіберу» деген батырманы басу арқылы келуші өзі енгізген ақпаратты жібереді. Деректерді жіберу үшін сценарийдің Интернет-мекен-жайы көрсетілуі керек форма тегінде әрекет атрибуты болмағандықтан, олар сол парақтың мекен-жайына жіберіледі. Сондықтан, сіз осы парақтың html-кодына php нұсқауларын қосып, деректерді қабылдау, растау және электрондық поштаңызға пішіннен жіберуіңіз керек.
Олар php тегінің ашылуынан басталуы керек:
<? php
Келесі жолда келушіге арналған хабарлама болатын айнымалыны көрсетіңіз. Бос кезде:
$ msg = «»;
Енді сценарий мәліметтердің формадан жіберілгендігін тексеруі керек. POST әдісімен жіберілген деректерді қабылдайтын сервер оны $ _POST атты суперглобал массивіне орналастырады. Сондықтан сценарий осы массивтегі формадан қандай-да бір ақпарат бар-жоғын тексеруі керек. Келуші өрістердің ешқайсысын толтырмаған болуы мүмкін, бірақ жасырын айнымалы әлі де болуы керек - біз оның бар-жоғын тексереміз:
егер ($ _ POST ['act'] == «жіберу») {
Егер мұндай айнымалы болса, онда сценарий нұсқауларының келесі блогы орындалады. Ыңғайлы болу үшін осы блоктың басында кейінірек өзгерте алатын айнымалыларды орналастырыңыз:
$ email_length = 500;
Бұл келушінің хабарламасында рұқсат етілген таңбалардың ең көп саны.
$ email_html = жалған;
Егер пайдаланушы хабарламаға html тегтерін енгізсе, олар сценарий бойынша кесіледі. Егер оларды қалдыру керек болса, онда осы айнымалының жалған мәнін шынға ауыстырыңыз.
$ email_recepient = «[email protected]»;
Бұл сіздің электрондық поштаңыздың мекен-жайы, оған сценарий келушілерден хабарлама жіберуі керек.
$ email_subject = «Сайтқа кірушінің хабарламасы»;
Айнымалының ішінде сізге жіберілген электрондық пошта тақырыбында көрсетілетін мәтін бар.
$ email_regex = «/ ^ (([^ () .,;: / s @ \»] + (. [^ () .,;: / s @ / «] +) *) | («. + \»)) @ (([0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}]) | (([a-zA-Z / -0-9] + \.) + [A-zA-Z] {2,}) $ / «;
Бұл айнымалы өзгертілмеуі керек - онда келуші электрондық пошта өрісіне енгізген электрондық пошта мекен-жайының пішімін тексеру үшін сценарий қолданатын тұрақты өрнек үлгісі бар. Келесі жолда осы чек болады:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = «Жарамсыз электрондық пошта мекен-жайы көрсетілген.»;
Егер келуші онымен байланысу үшін дұрыс емес мекен-жайды нақты көрсеткен болса, сценарийде бұл туралы хабарлама көрсетіледі. Мұндай хабарламалардың барлығы сценарий аяқталғанға дейін $ msg айнымалысында жинақталады.
Енді хабарлама мәтінінің бар-жоғын тексереміз:
if (! $ _ POST ['mess']) $ msg. = «Хабарлама мәтіні жоқ»;
Егер келуші мәтін өрісін бос қалдырса, онда бұл туралы хабарлама $ msg айнымалысына қосылады.
Егер $ email_html айнымалысында html тегтерін хабарлама мәтінінен алып тастауды көрсеткен болсаңыз, сценарий келесі екі жолда орындалады:
$ userMess = $ _POST ['mess'];
егер (! $ email_html) $ userMess = strip_tags ($ userMess);
Барлық тексерулердің соңында - хабарламаның ұзақтығын тексеру:
if (strlen ($ userMess)> $ email_length) $ msg. = «Хабар мәтіні рұқсат етілген ұзындықтан ұзын ($ email_length таңбалары).
n «;
Егер тексерулердің кем дегенде біреуі орындалмаса, онда $ msg айнымалысы бос болмайды. Онда сіз барлық қате туралы хабарламаларды аяқтауыңыз керек - «Қате» мәтінін қосып, қызыл түстің көлеңкесін қойыңыз:
if ($ msg) $ msg = «Қате: $ msg»;
Егер чектер өткен болса, онда сіздің мекен-жайыңызға жіберу үшін деректерді дайындаңыз:
басқа {
$ userMess = «Аты:». $ _ POST ['name']. «
n ---
n «. $ userMess.»
n
n ---
n «;
$ headers = «Content-Type: text / html; charset = windows-1251 / n»;
$ headers. = «Кімнен: / nX-Mailer: siteMailer»;
Келесі жол сіздің серверіңіздің хат-хабарын жіберіп, дайындалған хабарламаны жібереді:
пошта ($ email_recepient, $ email_subject, $ userMess, $ тақырыптары);
Енді келушіге оның хабарламасы жіберілгені туралы хабарлама жасау қалады:
$ msg = «Сіздің хабарламаңыз жіберілді. Рақмет!
n «;
}
}
?>
4-қадам
4-қадам: бетті серверде орналастырыңыз.
Құрылған php парағын сізге қажет атау және php кеңейтілімімен сақтап, серверге өз сайтыңызға жүктеңіз.
Әрине, бұл «жалаңаш» парақ, оны өзіңіздің сайтыңыздағы қалған беттер сияқты жасау керек. Немесе осы парақтың элементтерін алып, сайттағы бар бетке қосыңыз.