PHP. Доду гирифт бо скрипт

Печать

Дар сайт матну расмҳои гуногун ва дигар намуди маълумотро нашр кардан мумкин аст. Ба ғайр аз ин, ба ташрифкунандагон имконияти ворид намудани ягон маълумотро тавассути формаҳои (forms) HTML низ додан мумкин аст.

Масалан, тавассути сайт ягон пурсиш гузарониданӣ бошед, чунин корҳоро иҷро бояд кард:
- саволҳои пурсишномаро дар web-саҳифа нашр кардан;
- ба ташрифкунандагон додани имконияти ворид намудани ҷавобҳо ба саволҳои пурсишнома;
- дар web-сервер коркард намудани ҷавобҳои қабулшуда.

Дар ин дарс мо бо истифодаи имкониятҳои PHP ва HTML як пурсишномаи содда месозем ва тарзи коркарди маълумоти воридшударо меомӯзем.

Файли savolho.html бо коди зеринро сабт намоед:
savolho.html

<html> 
<body>
<h4>Пурсишномаи мо</h4>
<form>
Номи шумо чист? <input type="text" />
<p>Ба фикри шумо кадоме аз ин шаҳрҳо зеботарин аст?
<select>
<option>Душанбе</option>
<option>Кӯлоб</option>
<option>Қӯрғонтеппа</option>
<option>Хоруғ</option>
<option>Хуҷанд</option>
</select>
</form>
</body>
</html>

Пурсишномаро дар броузер кушода, номи худро навишта, шаҳри зеботаринро интихоб карда метавонед. Лекин барои коркарди маълумоти вориднамуда, кодро андаке мураккабтар кардан лозим аст. Коди поёниро бодиққат, сатр ба сатр бо коди болоӣ муқоиса кунед:
savolho.html

<html> 
<body>
<h4>Пурсишномаи мо</h4>
<form action="process.php" method="get">
Номи шумо чист? <input type="text" name="nom" />
<p>Ба фикри шумо кадоме аз ин шаҳрҳо зеботарин аст?
<select name="shahr">
<option>Душанбе</option>
<option>Кӯлоб</option>
<option>Қӯрғонтеппа</option>
<option>Хоруғ</option>
<option>Хуҷанд</option>
</select>
<p><input type="submit" value="Фирист!"/>
</form>
</body>
</html>

Тағйиротҳоро ба savolho.html сабт кунед. Пурсишнома тайёр аст.

Акнун ба сохтани скрипте, ки маълумоти ворид мешударо коркард менамояд, мегузарем.

Вақте ки ташрифкунандаи сайт номи худро менависад, шаҳрро интихоб мекунад ва тугмаи "Фирист!"-ро пахш мекунад, ба скрипти process.php массиви ассотсиативии $_GET бо элементҳои nom ва shahr омада мерасад. Элементҳои nom ва shahr дар худ мувофиқан номи ташрифкунанда ва номи шаҳрро нигоҳ медоранд.

Истифодаи бевоситаи қимати элементҳои массиви ассотсиативии $_GET дар коркарди наҷитаҳои пурсиш имконпазир аст. Лекин беҳтар аст, ки қимати ин элементҳоро ба тағйирёбандаҳои алоҳида гирем ва баъд истифода барем. Инак:
process.php

<html> 
<body>
<?php
$nom = $_GET['nom'];
$shahr = $_GET['shahr'];
echo "Ассалому алейкум $nom!<br />";
echo "Шумо шаҳри ".$shahr."ро дӯст медоред.";
?>
</body>
</html>

Дар ин мисол ба тағйирёбандаи $nom қимати элементи $_GET['nom'] ва ба тағйирёбандаи $shahr қимати элементи $_GET['shahr'] бахшида шудааст.

Мухтасар амалхҳи болоиро такрор мекунем.
1. Файли savolho.html сохта, дар он майдон барои дохил намудани ном ва рӯйхати шаҳрҳоро сохтем.
2. Ба ду ҷузъи web-саҳифа номҳои nom ва shahr гузоштем.
3. Дар теги <FORM> нишон додем, ки маълумот ба скрипти process.php бо усули GET фиристода шавад.
4. Дар скрипти process.php маълумоти воридшударо аз массиви ассотсиативии $_GET ба тағйирёбандаҳо бахшидем.
5. Маълумоти воридшударо бо фармони echo хориҷ кардем.

Акнун вақти ин файлҳоро дар амал санҷидани шумо расид.

Қайд. Бояд гуфт, ки мисолҳои дар ин дастур овардашуда таълимӣ ҳастанд.

САВОЛҲО БАРОИ МУСТАҲКАМКУНӢ
1. Фарқияти method="get" аз method="post" дар чист?
2. Бо истифодаи HTML шакле (форма) тартиб диҳед, ки дар худ рӯйхат (теги select) дошта бошад.
3. Оиди имконияти фиристодани файл ба сервер тавассути PHP маълумот диҳед.

Добавить комментарий


Защитный код
Обновить

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.