Како креирати Ајак-базирани ХТМЛ5 / ЦСС3 контакт образац
Образац за контакт је од највеће важности за било коју веб страницу, јер дјелује као гласник који просљеђује мишљење или упите посјетитељима вебмастеру. Било је безбројних форми за контакт на вебу, али нажалост већина њих вам не објашњава унутрашње радне дијелове, тако да овдје долази детаљан водич који ће вас научити да направите напредни контактни облик од нуле заснован на поп технологији, ХТМЛ5 и ЦСС3.
Узимајући у обзир природу веб-базираног е-маил форме, од нас се захтева и да заронимо у два одвојена поља апликације, што је ПХП бацкенд код за слање е-маил и јКуери функција за богати кориснички интерфејс. На крају ће нам остати потпуно динамичан и функционалан контактни образац написан у виду касније прилагодбе.
Започните сада да направите властити напредни контактни образац!
Пречица до:
- Демо - Преузмите преглед онога што градите
- Довнлоад - Преузмите све датотеке (пхп + цсс)
Структурирање апликације
Да бисте започели, требаће вам нека врста веб сервера. Ако користите Виндовс машину, ВАМП је вероватно најбоља опција. Мац корисници имају сличан програм МАМП који се лако инсталира.
Ови пакети ће поставити локални сервер на вашој машини са пуним приступом ПХП-у. Алтернативно, ако поседујете простор на серверу или имате потпуни приступ серверу на удаљену локацију, можете га користити уместо тога. Неће нам бити потребне МиСКЛ базе података, што би требало да поједностави ствари.
Када је ваш сервер подешен направите нову фасциклу за примену апликације. То можете назвати што год желите, јер то није штетно или чак повезано с коначним производом. Структура фолдера ће се користити када приступате датотекама у веб претраживачу. Једноставан пример би био хттп: //лоцалхост/ајакцонтацт/цонтацт.пхп
Направимо наше фајлове!
Радићемо само у оквиру две основне датотеке. Прво ће нам требати језгра .пхп датотека не само да нашој логици апликације, већ и фронтендирању ХТМЛ ознаке. Испод је узорак кода преузет из наше почетне датотеке.
ХТМЛ5 / ЦСС Ајак Контактни формулар са јКуери
За почетак смо написали једноставан одељак у нашем документу. Ово укључује и генерала Доцтипе декларација за ХТМЛ5 и неке елементе ХТМЛ / КСМЛ документа. Они нису баш потребни, али ће олакшати процес рендеровања у старијим (и новијим) претраживачима. Исто тако никада не боли да понуди више информација.
Мало даље доле можемо видети 2 ретка непосредно пред нашом завршном ознаком. Прва укључује наше јКуери скрипта из он-лине Гоогле Цоде Репоситори. Ово је потребно да би наше грешке на динамичкој страници функционисале. Непосредно испод тога имамо укључивање основног ЦСС доцумент садржи све наше стилове страница.
Унутар нашег документа имамо неколико који садрже подјеле задржавање главног обрасца за контакт. Ово садржи 3 улазна елемента за име корисника, адреса Е-поште, и лична порука. ХТМЛ ознака је прилично стандардна и не би требала задиркивати умове било ког посредника.
Ваша е-пошта је послата. Хуззах!
Овде имамо основно ПХП условни код угњеждени у контејнере од неколико страница. Ово проверава да ли је подешена вредност променљиве именована
$ емаилСент
и ако је једнако труе, приказат ће поруку о успјеху.Унутар ХТМЛ обрасца
Тхе друго Изјава је оно што ће се покренути при учитавању прве странице јер неће бити садржаја који ће се послати у почетку. Унутра ћемо укључити а кратка збирка елемената форме и а дугме субмит.
Грешка приликом слања обрасца
Можда сте приметили да постоји још један условни блок непосредно након почетног обрасца. Ово проверава име променљиве $ хасЕррор
и приказат ће поруку о погрешци након потврде. Ова резервна метода је користи се само ако је ЈаваСцрипт онемогућен у претраживачу и стога не може генерисати динамичке грешке.
Све до краја можемо наћи појединачне ПХП варијабле се проверава. Изјаве регулишу да ли је образац већ достављен са само делимичним количинама попуњених података. Ово је још један резервни систем који приказује садржај већ попуњених поља - леп трик за правилно корисничко искуство!
Непосредно након завршетка нашег обрасца је неколико јКуери функције написали смо. Прво ћемо разговарати о њима, јер су они имплементација на задатку. Међутим, ако претраживач не прихвати ЈаваСцрипт, онда се подразумевано можемо ослонити на наш ПХП код.
Отварање у јКуери
Најлакши начин да започнете разговор о овој теми је да уђете право унутра. Оборит ћу појединачне блокове редом по ред тако да можете видјети што скрипта заправо провјерава за.
Међутим, ако се само изгубите прегледајте датотеке кода пројекта. Сви пуни блокови су унапред написани и добро документовани на јКуери веб сајту. Да бисте започели, отварамо наш код сличан сваком другом:
Ако сте упознати цаллбацкс можда ћете приметити пошта()
функција има уграђени скуп параметара. Повратни позиви су мање функције које се зову након одговора података из друге функције.
На пример, када је наш јКуери.пост ()
Функција успјешно снима е-поруку која ће позвати властиту интерну функцију за приказ клизне анимације. Сав тај код би могао бити написан у свом блоку и премештен негде другде. Међутим, због овог туториала много је лакше писати повратни позив као инлине функцију.
Прекидање нашег ПХП-а
Коначна препрека коју треба споменути је логика иза нашег ПХП процесора. Ово је позадински систем који ће заправо бити позвати функцију поште и послати поруку. Сав код који се користи у доле наведеним примерима може се наћи директно на врху нашег главног .пхп датотеку, пре било каквог ХТМЛ излаза.
Постоји и неколико интерних стилова који освежавају страницу. Овде нема ничега новог, тако да нећемо улазити ни у један детаљ. Међутим стилес.цсс Документ је укључен у пројектни код и садржи основне технике ЦСС3.
За почетак отворимо ПХП клаузулу и проверимо ако је образац чак и достављен. Тхе ПОШТА променљива “достављени” заправо је скривено поље за унос додато на самом крају нашег обрасца. То је користан начин проверите да ли је корисник нешто послао али не губимо ресурсе сервера.
Након тога имамо 3 одвојена ако друго проверу изјаве да бисте видели ако је свако поље за унос попуњено. Нећу овде да укључим сваки део логике јер су сви веома репетитивни у природи. Међутим, да бих вам дао кратак пример, укључио сам доле наведену клаузулу за верификацију е-поште:
// потребна валидна е-пошта ако (трим ($ _ ПОСТ ['емаил']) === ") $ емаилЕррор = 'Заборавили сте да унесете вашу е-маил адресу.'; $ хасЕррор = труе; елсе иф (! прег_матцх) ("/([[ал ::::...] у-0-9_.-**@[а-з0-9.-табс/\т _ПОСТ ['емаил']))) $ емаилЕррор = 'Унели сте неисправну емаил адресу.'; $ ХасЕррор = труе; елсе $ емаил = трим ($ _ ПОСТ ['емаил']);ПХП ће одрезати све размаке од вредности и проверити да ли је нешто остало. Ако је тако, имамо детаљно Регуларни израз (Регек) да видимо да ли се улазни низ нашег корисника подудара са обрасцем е-поште.
Сигурно не морате да разумете како
прег_матцх ()
ради на изради ове скрипте. То је корисна функција одредити правила и захтјеве за успјешан тип података, али командује напредним програмским знањем да заиста схвати. У овом сценарију осигуравамо да корисник унесе само неколико знакова, укључујући и @ симбол након којег следи 2-4 карактера представља а Домена највишег нивоа.После свих наших логичких пропуста и не враћамо се никаквих грешака време је да пошаљете нашу поруку! Овај бит кода ће поставити појединачне варијабле како би прилагодили нашу е-маил поруку и подесили неке заглавља поште за процес.
// при грешкама без грешке пошаљи емаил одмах! иф (! иссет ($ хасЕррор)) $ емаилТо = 'иоуремаилхере@гооглемаил.цом'; $ субјецт = 'Послата порука од'. $ наме; $ сендЦопи = трим ($ _ ПОСТ ['сендЦопи']); $ боди = "Име: $ наме \ _ нЕмаил: $ емаил \ т $ хеадерс = 'Фром:'. ' <'.$emailTo.'>'. р \ т 'Одговарати на: ' . $ емаил; маил ($ емаилТо, $ субјецт, $ боди, $ хеадерс); // подесимо боолеан завршну вредност на ТРУЕ $ емаилСент = труе;Ако сте се питали како ће код одредити вашу е-маил адресу, ово је дио који треба попунити.
$ емаилТо
и треба да садржи оно што год е-маил адресу, која ће примити поруку.Инсиде оур
$ боди
променљиву коју користимон
делимитер за додавање нових линија у поруку. Ово додаје мале просторе за Име пошиљаоца, адреса Е-поште, праћена паузом садржај поруке. Наравно да бисте могли да проводите време на екрану, али ова структура функционише сасвим добро.Закључак
Овим се затвара наш водич за напредни образац за контакт. Ако желите да стилизујете своје елементе у односу на моје, проверите мој пример стилес.цсс унутар шифре пројекта. Међутим, страница је довољно добро структурирана да можете сами дизајнирати свој изглед и осјећај.
Слободно преузмите изворни код и испитајте што сам учинио ближе. Добро је пратити уџбеник, али имати директан приступ извору пројекта може бити непроцјењив. Такође сам укључио кратку табелу стилова како би прилагодбе биле лагане, хвала на вашем погледу!