19 апреля 2024, пятница  

PHPworld.ru - все о программировании на PHP, основы языка PHP, особенности PHP5
PHPworld.ru php php 5 SQLite Статьи Книги Форум PHP Гостевая книга Ссылки по PHP

Правила форума


Если вы впервые на нашем форуме - ознакомьтесь с правилами


 

Форум

  Maloy :: Форма в функции
Необходимо создать модуль который будет вызываться в корпоративном сайте. Пишется один класс в одином файле, в конце инициализация класса.  С целью уменьшения кол-ва кода решил написать функцию создания формы с необходимым содержанием.
[code]
function print_form($tbl)
    {
  $row_bk = array ("Імя автора", "Назва видання", "Видавництво", "Тип видання", "Рубрика", "Інвентарний №", "Ціна", "Статус екземпляра", "Дата надходження", "Абонент");
  $nm_bk = array ("author", "title", "izd_name", "tip_name", "rub_name", "invent", "price", "stat", "date", "abon");
  $row_us = array ("Імя", "Прізвище", "Таб. номер", "Идентифікаційний №", "Посада", "Відділ", "№ паспорта", "Адреса проживання", "Телефон", "Дата народження");
  $nm_us = array ("name", "fname", "tab_number", "ident", "dolzhnost", "otdel", "passp_num", "adres", "phone", "date_birth");

  if ($tbl == 31 ) { $row = $row_bk; $nm = $nm_bk;}
  elseif ($tbl == 32 ) { $row = $row_us; $nm = $nm_us;}
  elseif ($tbl == 33 ) { $row = $row_iz; $nm = $nm_iz;}

  print "<FORM METHOD="post" ACTION="index.php">";
                      print "<TABLE BORDER="1"><TR>";
  print "<TD colspan=2><b>$row[0]</TD><TD colspan=2><b>$row[1]</TD></TR>";
  print "<TR><TD colspan=2>";
  print "<input name="".$nm[0]."" type="text" maxlength="140" size=70>";
          print "</TD><TD colspan=2>";
  print "<input name="".$nm[1]."" type="text" maxlength="140" size=70></TD></TR>";
          print "<TR><TD>".$row[2]."</TD><TD>".$row[3]."</TD><TD>".$row[4]."</TD><TD>".$row[5]."</TD></TR>";
          print "<TR><TD><input name="".$nm[2]."" type="text" maxlength="30" size=30>";
          print "</TD><TD><input name="".$nm[3]."" type="text" maxlength="20" size=30>";
          print "</TD><TD><input name="".$nm[4]."" type="text" maxlength="30" size=30>";
          print "</TD><TD><input name="".$nm[5]."" type="text" maxlength="12" size=30></TD></TR><TABLE>";     

  print "<input type="hidden" name="st" value=31>";
  echo '<p><input type="submit" value="Шукати"></form>';
      }
[/code]
Функция вызываеться:
[code]
      elseif ($st == 31)
      {
  echo "<H2>Видання</H2>";
  $this -> print_form($st);
                      echo "Author = "$author;
.

[/code]
 
  Фрма на странице рисуется нормально,  при просмотре html кода, все имена в форме правильные. Но выводится Author=. Получается что все переменные так и остаются внутри функции и не передаются глобально? Как можно это обойти? Если вынести кнопку из функции, поможет?Не хочется постоянно писать один и тот же код...
  6 мая 2005, 06:08

Это сообщение было просмотрено: 4012 раз(а)

Ответить на сообщение

Вернуться к списку сообщений форума

Сообщение и ответы Просм. Автор Дата
  Форма в функции4012 Maloy06.05.05 06:08
 Надо перейти к глобальным переменным2841 Леонид Лукин06.05.05 10:30


 Ответить на сообщение
 Автор:
 Ваш email*:
уведомлять об ответах на соощение по email
не публиковать email в форуме
 Тема сообщения:
 Текст сообщения:

* - поле не обязательно для заполнения

 

Copyright © PHP World - Леонид Лукин, 2004-2008.

Главная PHP World | PHP | PHP 5 | SQLite | Статьи по PHP | Книги по PHP | Ссылки по PHP | CV