[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема по коду
foxiSfox
Проблема на самом деле простая, но непонятная. Я бы сказал что пишу "ВСЕ ВЕРНО", а не работает не фига. Но на самом деле не так. Прошу помощи.

Вот скрипт:

read_controller.php


$i = 1;
$count = $POST['value1'];

$row = '<form action="" method="post">';
$cont = getTpl_admin('group/form_addgroup');

while($i <= $count)
{
$post1 = 'form[value'. $i .']';
$row .= eval('?>' . $cont . '<?php ');
$i++;
}

$row .= '<input name="ok1" type="submit" value="Создать группу" />
</form>'
;


Вывожу все что в переменной $row при значении $POST['value1'] = 3.


<p>Введите название группы 1 курса:
<input name="form[value1]" type="text" size="10" /></p>

<p>
Введите название группы 2 курса:
<input name="form[value2]" type="text" size="10" /></p>

<p>
Введите название группы 3 курса:
<input name="form[value3]" type="text" size="10" /></p>

<form
action="" method="post">
<input
name="ok1" type="submit" value="Создать группу" />
</form>




Видно что нормальной формы не получилось. Вот эта строчка должна быть чуть выше:

<form action="" method="post">


P.S.:

1) функция getTpl_admin - это просто функция чтения шаблона

function getTpl_admin($tpl) 
{
if(file_exists(IRB_ROOT .'admin/skins/tpl/'. $tpl .'.tpl'))
return file_get_contents(IRB_ROOT .'admin/skins/tpl/'. $tpl .'.tpl');
else
die('The template <b>'. $tpl .'.tpl</b> is absent in the specification');
}


2) сам шаблон form_addgroup.tpl вот:


<p>Введите название группы <?php echo $i; ?> курса:
<input name="<?php echo $post1; ?>" type="text" size="10" /></p>


Объясните, что я сделал не так?



Спустя 3 минуты, 23 секунды (16.08.2011 - 13:46) neadekvat написал(а):
$i     = 1;
$count = $POST['value1'];
$row = null;
$cont = getTpl_admin('group/form_addgroup');

while($i <= $count)
{
$post1 = 'form[value'. $i .']';
$row .= eval('?>' . $cont . '<?php ');
$i++;
}

$row = '<form action="" method="post">'
. $row
. '<input name="ok1" type="submit" value="Создать группу" />
</form>'
;

Спустя 7 минут, 7 секунд (16.08.2011 - 13:53) foxiSfox написал(а):
Цитата (neadekvat @ 16.08.2011 - 10:46)
$i     = 1;
$count = $POST['value1'];
$row = null;
$cont = getTpl_admin('group/form_addgroup');

while($i <= $count)
{
$post1 = 'form[value'. $i .']';
$row .= eval('?>' . $cont . '<?php ');
$i++;
}

$row = '<form action="" method="post">'
. $row
. '<input name="ok1" type="submit" value="Создать группу" />
</form>'
;

В принципе написано тоже самое, следовательно и ошибка та же. Но по идее ведь правильно, да? Если правильно, то скажите. Тогда пойду искать ошибку, не знаю даже где!

Спустя 7 минут, 44 секунды (16.08.2011 - 14:01) neadekvat написал(а):
Цитата (foxiSfox @ 16.08.2011 - 14:53)
В принципе написано тоже самое, следовательно и ошибка та же.

С фига ли? Не может с моим кодом form оказаться ниже. Если так - значит, уже браузер борзеет и не то показывает. Не знаю, как с браузером, а firebug порой делат что хочет с html'ом.

А так - да, у тебя верно и тоже должно работать корректно. Если ты только весь код показал. А то там еще какая-нибудь буферизация используется, а ты ее удалил, посчитав не важным элементом..

Спустя 1 час, 24 минуты, 16 секунд (16.08.2011 - 15:25) foxiSfox написал(а):
meadekvat спасибо. Но не мог бы объяснить как буферизация может повлиять на это, ну хоть на примере. Какая разница между тем, что я писал выше, и тем что написано ниже

С использованием этого кода, проблема решилась:

$i     = 1;
$count = $POST['value1'];
$row = '<form action="" method="post">';
$cont = getTpl_admin('group/form_addgroup');

while($i <= $count)
{
$post1 = 'form[value'. $i .']';
ob_start();
eval('?>' . $cont . '<?php ');
$cont1 = ob_get_contents();
ob_end_clean();
$row .= $cont1;
$i++;
}

$row.= '<input name="ok1" type="submit" value="Создать группу" />
</form>'
;

Спустя 22 минуты, 18 секунд (16.08.2011 - 15:47) neadekvat написал(а):
В данном случаи - никакой.
Разве что код в буферизации выполняется несколько опосредованно от другого кода, в отличие от первого примера.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.