<?
$show_file = "task_show.php"; 
/* файл, который будет обрабатывать данные
   созданной этим файлом формы */

function Create_element($type,$name){ 
   // функция создает элемент ввода 
   // по типу и названию
  switch($type){
  case"string":
    $str .= "$name: <input type=text name=string[]><br>";
  break;
  case "text":
    $str .= "$name: <textarea name=text[]></textarea><br>";
  break;
  }
return $str;
}
function Create_form(){ 
    // функция создает форму
    // с нужными элементами
global $show_file;
  $str = '<form action="'.$show_file.'">';
  foreach ($_GET["types"] as $k => $type){ 
  // перебираем типы элементов
    $num = $_GET["numbers"][$k]; 
	// число элементов этого типа
    
	for ($i=1;$i<=$num;$i++){
      $arr = $_GET["names"][$type][$i-1]; 
	  // имя создаваемого элемента
      
	  $str .= Create_element($type,$arr); 
	  // вызываем функцию для 
	  // создания элемента
    }
  }
  $str .= "<input type=submit value=send></form>";
echo $str;
}
$crt = "Create_form";
$crt(); // вызываем функцию создания 
        // формы Create_form
?>

Листинг 5.14. task.php
Закрыть окно