Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Formy.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
77.31 Кб
Скачать

I. Ввод данных вручную:

<select class="input" type=text name=years>   <option value='2000'>2000</option>   <option value='2001'>2001</option>   <option value='2002'>2002</option>  ……………………………………………   <option value='2050'>2050</option>  </select>

II. Ввод данных через цикл:

<select class="input" type=text name=years>   <?php  $year = 2000;  for ($i = 0; $i <= 50; $i++) // Цикл от 0 до 50  {     $new_years = $year + $i; // Формируем новое значение    echo '<option value='.$new_years.'>'.$new_years.'</option>'; //Формируем новую строчку  }  ?>  </select>

Как видно, второй пример с циклом, более компактный. Думаю, не стоит приводить скрипт обработчика данной формы, потому что он обрабатывается точно так же как текстовое поле, т.е. значения списка можно извлечь из суперглобального массива $_POST.

Задача: Загрузка файла на сервер Решение: Необходимо создать HTML форму и PHP – сценарий для обработки файла. Описание:

Создадим HTML-форму для отправки файла на сервер.

<FORM ENCTYPE="multipart/form-data" ACTION="action.php" METHOD=POST>  <INPUT NAME="myfile" TYPE="file">  <INPUT TYPE="submit" value="Передать файл">  </FORM>

В данной html-форме присутствует элемент browse, который открывает диалоговое окно для выбора файла для загрузки на сервер. При нажатии на кнопку "Передать файл", файл передается сценарию-обработчику.

Затем необходимо написать сценарий обработчик action.php. Перед написание обработчика необходимо определиться в какой каталог мы будет копировать файл:

<?php  if(isset($_FILES["myfile"])) // Если файл существует  {    $catalog = "../image/"; // Наш каталог    if (is_dir($catalog)) // Если такой каталог есть    {      $myfile = $_FILES["myfile"]["tmp_name"]; // Времменый файл      $myfile_name = $_FILES["myfile"]["name"]; // Имя файла      if(!copy($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name // Если неудалось скопировать файл    }    else mkdir('../image/'); // Если такого каталога нет, то мы его создадим  }  ?>

Замечание

Если вы доверяете пользователям закачивать на ваш сервер любые файлы, нужно быть предельно осторожным. Злоумышленники могут внедрить «нехороший» код в картинку или файл и отправить на сервер. В таких случаях нужно жестоко контролировать загрузку файлов.

Данный пример демонстрирует создание каталога и копирование файла в этот каталог на сервер.

Также хотел бы продемонстрировать пример с элементом checkbox. Этот элемент немного отличается от других элементов тем, что если не один из элементов checkbox’a не выбран, то суперглобальная переменная $_POST вернет пустое значение:

<FORM ACTION="file.php" METHOD=POST>  <input name="mycolor" type="checkbox" value="blue">Синий  <input name="mycolor" type="checkbox" value="black">Черный  <input name="mycolor" type="checkbox" value="white">Белый  <input name="Submit" type=submit value="Выбрать">  </FORM>

<?php    if (!empty($_POST['mycolor'])) echo $_POST['mycolor']; // Если выбран хоть 1 элемент    else echo "Выберите значение";  ?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]