Я пытаюсь создать веб-страницу, которая принимает пользовательский ввод, отправляет его на страницу создания, а затем создает другую веб-страницу, отображающую данные в таблице html. Я использую file_put_contents для создания веб-страницы, и я получаю сообщение об ошибке всякий раз, когда пытаюсь включить цикл для вывода содержимого из 3 td. Вот что у меня есть до сих пор. Я упомяну, что публиковал ранее, однако я удалил это, поскольку этот пост был запутанным, в нем не было подробностей и примеров.
Это поле ввода для пользователя (deleteBox не публикуется) Пользователь вводит: ингредиент, количество и примечание (txt — пустая переменная).
<tr><td><input type='checkbox' name='deleteBox'></td><td>" + "<input type='text' name='ingredient[]' value='" + txt + "'/>" + "</td><td>" + "<input type='text' name='amount[]' value='" + txt + "'/>" + "</td> + <td>" + "<input type='text' name='note[]' value='" + txt + "'/>" + "</td></tr>
Я пробовал нижеприведенное как с циклом for в переменной, так и с прямым вводом его в $strOut. Я действительно не знаю, как вы должны это делать (явно нет, так как это не работает -> выдает неожиданную ошибку «для» в строке 42 [строка $ tbl]) и не могу найти обходной путь . Как мне сделать так, чтобы данные массива отображались в выводе для file_put_content, чтобы он не создавал ошибок?
$ingredient = $_POST['ingredient'];
$amount = $_POST['amount'];
$note = $_POST['note'];
$tbl = for ($i = 0; $i < count($ingredient); $i++) {
echo '<tr>';
echo '<td>' . $ingredient[$i] . '</td>';
echo '<td>' . $amount[$i] . '</td>';
echo '<td>' . $note[$i] . '</td>';
echo '</tr>';
}
$strOut = '<!DOCTYPE html>'
. '<table class = "recipe-ingredients">'
. '<tr>'
. '<th class = "table-th-large">Ingredient</th>'
. '<th class = "table-th-medium">Amount</th>'
. '<th class = "table-th-xl">Note</th>'
// User input tr goes here
. $tbl
. '</table>';
// Closing html tags after
file_put_contents("example.php", $strOut);
Любые предложения или обходные пути будут высоко оценены.
$tbl = '';
for ($i = 0; $i < count($ingredient); $i++) {
$tbl.= '<tr>';
$tbl.= '<td>' . $ingredient[$i] . '</td>';
$tbl.= '<td>' . $amount[$i] . '</td>';
$tbl.= '<td>' . $note[$i] . '</td>';
$tbl.= '</tr>';
}
Использовать это.
Кстати, Вы забыли поставить закрывающий </tr>
в строке заголовка.
Идеальный! Спасибо вам за помощь.