Php: при отправке эхо и тд полей и новых тд - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть следующий код:

<form action="" method="POST">
<?php
$count = isset($_POST['count']) ? $_POST['count'] : 1;
if($count > 11) $count = 11;
?>

<table>
<!-- Keeps track of the current number of rows -->
<input type="hidden" name="count" value="<?php echo $count+1; ?>"/>

<?php for($i = 0; $i < $count; $i++): 
    // Loop through all rows gathering the data here, and then creating the fields below
    $val0 = isset($_POST['field'][$count]['0']) ? $_POST['field'][$count]['0'] : '';
    $val1 = isset($_POST['field'][$count]['1']) ? $_POST['field'][$count]['1'] : '';
    $val2 = isset($_POST['field'][$count]['2']) ? $_POST['field'][$count]['2'] : '';
?>
<tr>

    <td><input name="field[<?php echo $count; ?>][0]" value="<?php $val0; ?>"/></td>
    <td><input name="field[<?php echo $count; ?>][1]" value="<?php $val1; ?>"/></td>
    <td><input name="field[<?php echo $count; ?>][2]" value="<?php $val2; ?>"/></td>
</tr>
<?php endfor; ?>

</table>

<input type="submit" value="click me" />
</form>

Проблема в том, что когда я нажимаю «Отправить», добавьте еще 3 поля, но при этом другие поля будут очищены. Как сохранить содержимое полей, но сделать их недоступными для редактирования?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2011

Вы не повторяете свои значения, и ваш $ count должен быть $ i , так как вы получите те же имена полей

<form action="" method="POST">
<?php
$count = isset($_POST['count']) ? $_POST['count'] : 1;
if($count > 11) $count = 11;
?>

<table>
<!-- Keeps track of the current number of rows -->
<input type="hidden" name="count" value="<?php echo $count+1; ?>"/>

<?php for($i = 0; $i < $count; $i++): 
    // Loop through all rows gathering the data here, and then creating the fields below

    $val0 = isset($_POST['field'][$i]['0']) ? $_POST['field'][$i]['0'] : '';
    $val1 = isset($_POST['field'][$i]['1']) ? $_POST['field'][$i]['1'] : '';
    $val2 = isset($_POST['field'][$i]['2']) ? $_POST['field'][$i]['2'] : '';
?>
<tr>

    <td><input name="field[<?php echo $i; ?>][0]" value="<?php echo $val0; ?>"/></td>
    <td><input name="field[<?php echo $i; ?>][1]" value="<?php echo $val1; ?>"/></td>
    <td><input name="field[<?php echo $i; ?>][2]" value="<?php echo $val2; ?>"/></td>
</tr>
<?php endfor; ?>

</table>

<input type="submit" value="click me" />
0 голосов
/ 18 апреля 2011
for($j=0;$j<3;$j++){
  echo '<input type="hidden" name="field['.$i.'][0]" value="'.$_POST[field][$i][0].'" />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...