|
Если вы впервые на нашем форуме - ознакомьтесь с правилами
|
|
Необходимо создать модуль который будет вызываться в корпоративном сайте. Пишется один класс в одином файле, в конце инициализация класса. С целью уменьшения кол-ва кода решил написать функцию создания формы с необходимым содержанием.
[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 раз(а)
|
|