Еженедельник Свет в Интернет

Главная

Новости

Статьи и обзоры
  Горожанин
  Обнинск в Internet
  Web Design
  Hardware
  Software
  Безопасность
  Серфинг
  Игродром
  Relax
  Технологии
  Web-обзор
  Интернет-ликбез
  Опросник
  УП-Технологии
  ART.net

Ссылки

Архив

О нас

Контакты

Форумы


Основатель:
К.Николаенко

Главный Редактор:
С.Коротков

Web Design:
Neutron


Наш спонсор






Порт POPULAR.RU
POPULAR.RU RegionalBanner Network.






Океан


НПП Метра - промышленные электронные автомобильные вагонные весы
Goldy Interior - салон офисной мебели: кабинеты руководителей, мебель для персонала

= Web-Дизайн =

 

ЗНАКОМСТВО С РНР

продолжение, начало в:#4(152) , #5(153) , #6(154) , #7(155)

(с) Андрей Гончаров

ОБОБЩЕНИЕ ИЗЛОЖЕННОГО МАТЕРИАЛА

Создадим скрипт подсчета голосов на основе HTML-формы. Попробуем собрать статистику того, сколько людей предпочитает определенный вид сока. Вначале создадим форму для получения голосов:

<!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Скрипт голосования</title>
</head>
<body>
<center>
<form action="<?php echo $PHP_SELF;
// выводим имя текущего скрипта
?>" method="post" name="poll_form"
id="poll_form">
<table border=1>
<tr>
<td>
<table cellPadding=3>
<tr bgcolor="#97cbff">
<td colSpan=2>Какой сок Вы предпочитаете?
</td></tr>
<tr>
<td>апельсиновый</td>
<td><input name=poll type=radio value=1>
</td></tr>
<tr>
<td>сок манго</td>
<td><input name=poll type=radio value=2>
<tr>
<td>яблочный сок</td>
<td><input name=poll type=radio value=3>
</td></tr>
</table>
</td>
</tr>
</table>
<br>
<input type="sumbit" name="polling" value="Проголосовать">
</form>
<hr>
</center>

Как вы, очевидно, заметили, в качестве action данной формы указано <?php echo $PHP_SELF;?>. Этот код скрипта возвратит ту строку, которую вы набираете в браузере, чтобы запустить данный скрипт. Это значение хранится в стандартной ("встроенной" в РНР) переменной $PHP_SELF. То есть алгоритм работы скрипта будет такой: при запуске скрипта набором в браузере пути к нему (например, http://127.0.0.1/poll.php) он считает данные из файла и выведет статистику в браузер, разместив ее под формой голосования. Если же мы нажмем в форме кнопку "Проголосовать", то тем самым заново запустим скрипт (теперь ему будут переданы значения всех полей ввода формы), и отображение статистики произойдет после обработки полученных сведений из формы и сохранения изменений в файле данных.
Итак, определим сначала константы, содержащие имя файла данных, а также соответствие названий соков и соответствующих значений полей ввода radio нашей формы. Вот как это будет выглядеть на РНР:

<?php
// назначаем константу имени файла
define("DATA_FILE", "data.txt");
// определяем остальные константы
define("ORANGE", "1");
define("MANGO", "2");
define("APPLE", "3");

/*

Следует отметить, что перед первым запуском скрипта, который мы создаем, необходимо будет создать в той же директории, что и скрипт, файл data.txt, содержащий три строки: 0,0,0. Таким образом мы "обнуляем" счетчик голосов. Далее в ходе выполнения скрипта нам нужно: считать данные из нашего файла данных, определить, вызван ли скрипт непосредственно или с помощью формы, и в зависимости от этого либо вывести статистику голосования, либо сначала обновить файл данных, а потом вывести статистику.
Теперь, если вы соберете все фрагменты скрипта, которые мы рассмотрели, то получите простейший скрипт голосования. В дальнейшем его можно усовершенствовать на свой вкус.
Данный текст, естественно, не содержит исчерпывающей информации о возможностях такого мощного инструмента создания динамических сайтов, как РНР. А они включают взаимодействие со многими СУБД, работу с почтовыми серверами, управление сессиями, загрузку файлов с использованием наиболее распространенных сетевых протоколов, создание "на лету" изображений и документов PDF и многое другое. И поскольку язык РНР очень прост в освоении, будем надеяться, что эта статья поможет найти вам легкий путь в мир веб-программирования.


Copyright © Свет в Internet   Designed by Свет в Internet