КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Тақырып 8.РНР скрипттері арқылы деректердi берудiң GET және POST әдістері. (2-сағат) Жоспар: 1. GET әдісі. 2. POST әдісі 3. GET және POST әдістерінің айырмашылығы
Дәрістің мақсаты- РНРпрограммалаутілінің негізгі мәліметтерді тарататын GET және POST әдістерімен таныстыру. Айырмашылығын түсіндіру.
Өткен сабақта бiз php-скриптке мәлiмет беруді үйрендiк, бұл программалауда таң ғажайып құбылыс болып табылады:мәндердi енгiзу бiр тiл арқылы,өңдеу және қорытынды басқа тілдің көмегiмен болады.Формадан скриптке деректердi берудiң кең тараған екі әдісі бар:GET және POST.Техникалық толықтыруларға тоқталмай,тек қанақолданушы адрестiк жолдың түрi бойыншаоларды айырып тани алатындығын айтамын.Мысалы, егер URL осылай берілсе http://www.server.ru/registration.php?name=Vasia&surname=Pupkin, онда біз осы формада GET әдiсi қолданғандығын айта аламыз. Бұл әдiс URL-ге аттар мен форма мәндерін қосады. Ол келесі схема түрінде орындалады: http://қандай да бір_URL/бет.php?айнымалы_аты=оның_мағынасы&аты=мағынасы... POST әдiсінің GET әдiсiнен айырмашылығы - URLға ештеңе қоспайды және қолданушыға байқалмайды.Бұл бiлiмдердiң бiзге дәл осы кезде әбден жеткiлiктi.Ендiтiкелей формаларды өтемiз және скриптке әр түрлi мәлiмет енгiзу әдiстерiн қарап шығамыз.
Мәтiн енгiзу үшiнекi ұқсас қолайлы форма элементтерi. Скриптке мән беру келесідей:nameатрибутының мәні айнымалының аты болып қалыптасады, ал элементке енгізілген мәлімет- сол айнымалының мәні. <SELECT> Начало формы Вариант 1 Вариант 2 и т.д. Бұл HTML-ға төмендегiдей жазылады:
<form ...><select name="variants">
Скриптке қолданушының таңдауына байланысты (1, 2 немесе etc) мәндердiң бiрiмен variantsайнымалысы берiледi.Егер value көрсетiлмесе, <option > тегтердiң арасындағы мәтiн берiледi. <Input Type="CheckBox">
Өңдеушiге жалаушасы қойылған жағдайда айнымалы атпен, тиiстi ат checkbox-тың өзiне берiледi, On мәнiмен. Егер checkbox бос болса, онда бұл айнымалы скриптте тiптi анықталмайды.
<Input type="Radio"> Начало формы
Бұл элементтiң ең кең таралған қолдану әдiсi – балама(альтернативті) нұсқалардың бiреуін ғана таңдау. Ол үшiн келесi HTMLкод сәйкес келедi:
<form ...> Начало формы Вариант 1 Конец формы
Скриптке 1 немесе variant_2 мәнімен var айнымалысы беріледі. <Input type="HIDDEN"> Форманың көрiнбейтiн элементi, бiрақ скриптке жүк көтергiш мән әйтсе де. ОныPhp - программалауда деректердi бiрнеше беттер арқылыжіберу үшiн жиi қолданады. Ол үшін әр бетте php-скрипт орналастыру керек,алдыңғы беттен Hidden элементiнiң мәнi және ағымдағы беттiң Hidden элементiне қабылдаушымән . Типтi мысал – екі беттік форма, бiрiншi беттен форманың барлық мәлiметтерi форманың екiншi беттен форманың элементтерi. Бұдан басқа, бұл элемент мәліметтердің айырып тануын қамтамасыз ететін тек бiр скриптте,бiрнеше формаларда қолданылады.Мысалы, сайттағы баптар бағасының формалары.
Екi элемент бiрдей функцияларды орындайды - форманың өңдеуiне сұрау салады.Функционалдық форма бұл элементтерiнің бiрінсiз жай ғана бар бола алмайды. Егер Submitпен, мен ойласам, барлығы түсiнiктi болса, онда Image-дің бiр ерекшелiгі бар: бұл элемент скриптке екi мағына береді– шертілген суреттің X жәнеY пикселінің координатасы. Мен келесi сабаққа дейiн ECHO функциясының форма мәндерiнiң қорытындылары және барлық элементтерінқолдануда практика өтуге кеңес беремiн. Айтпақшы, формалардың барлық мәндерiн қорытындылау үшiн деректер берудiң тиiстi әдiстерi үшiн алдын ала анықталған айнымалы $HTTP_GET_VARS немесе $HTTP_POST_VARS қолдануға болады. Бiз алдын ала анықталған айнымалы туралы кешiрек сөйлесiп аламыз, әзiрше тек қана бұл сервердiң ортасынан мәндердi өздерi алатын, кейiнге сақталған айнымалы деп айтамын. Жоғарыда айтылған айнымалыны PRINT_R функциясымен шығарған дұрыс, ECHO-мен емес. Бұл осылай көрiнуi керек:
<? print_r ($HTTP_POST_VARS); ?>
Келесi сабақта бiз массив, сонымен бiрге PHP-дің басқарушы конструкцияларымен танысамыз.
Конец формы
|