Я видел и пробовал много примеров здесь для отображения результатов массива для пользователя, но ни один из них не работал для меня.
Полагаю, самое близкое к тому, что я ищу, это:
Как отобразить результат массива
Опять попробовал, но это не работает.
Это не работает — это означает, что страница пуста.
Когда я пытаюсь использовать varDump (…) и print_r (…), я получаю результаты, но не могу отобразить результаты для пользователя.
Кто-нибудь знает, какие изменения мне нужно внести в код ниже, чтобы отобразить результаты sourcename, sourceaddress1 и дохода1?
$rowIDs = $_POST['rowIDs'];
if (is_array($rowIDs) || is_object($rowIDs))
{
foreach ($rowIDs as $id) {
$sourcename1 = $_POST['sourcename1'. $id];
$sourceaddress1 = $_POST['sourceaddress1'. $id];
$income1 = $_POST['income1'. $id];
echo $id;
echo $sourcename;
echo $sourceaddress1;
echo $income1;
}
[rowIDs] => 1
[sourcename1] => Array
(
[0] => Jane Doe
)
[sourceaddress1] => Array
(
[0] => 123 Main Street
)
[income1] => Array
(
[0] => $89,000.00
)
«// разметки,
<script id="row-template" type="text/x-handlebars-template">
<div>
<!--reseed attribute IDs in case of gap resulting from deletions -->
<input type="hidden" name="rowIDs[]" value="{{rowNumber}}" />
<div class="form-group">
<input type="text" name="sourcename1{{rowNumber}}" id="sourcename1{{rowNumber}}" value="" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</div>
<div class="form-group">
<input type="text" name="sourceaddress1{{rowNumber}}" id="sourceaddress1{{rowNumber}}" style="width:250px;" class="form-control" value="" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</div>
<div class="form-group">
<input type="text" style="width:250px;" class="form-control" name="income1{{rowNumber}}" id="income1{{rowNumber}}" value="<?php if(isset($_POST['spouseIncome{{rowNumber}}'])) echo $_POST['spouseIncome{{rowNumber}}'];?>" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</div>
<input id="Button{{rowNumber}}" type="button" rel="remove-row" value="Remove" />
</div>
</script>
<div id="addrow">
<div>
<!--reseed attribute IDs in case of gap resulting from deletions -->
<input type="hidden" name="rowIDs[]" value="{{rowNumber}}" />
<div class="form-group">
<label for="sourcename">Name</label><br>
<input type="text" name="sourcename1[]" id="sourcename1" value="" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</div>
<div class="form-group">
<label for="sourceaddress1">Address</label><br>
<input type="text" name="sourceaddress1[]" id="sourceaddress1" style="width:250px;" class="form-control" value="" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</div>
<div class="form-group">
<label for="income1">Income</label><br>
<input type="text" name="income1[]" id="income1" style="width:250px;" class="form-control" value="" class="required requiredField" />
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
<input type="button" value="Add More" rel="add-row" />
</div>
</div>
</div><br><br>
$_POST['rowids']
это число, а не массив, так foreach ($_POST['rowids'] as $id)
неправильно. Я предполагаю, что это содержит количество элементов в других входных массивах, поэтому должно быть:
for ($id = 0; $id < $rowIDs; $id++)
Вы также не должны иметь if (is_array($postIDs) || is_object($postIDs))
, поскольку код должен выполняться, когда этот вход является числом.
Другие входные данные являются массивами, поэтому для доступа к ним необходимо использовать индексирование массивов, а не конкатенацию строк.
$sourcename1 = $_POST['sourcename1'][$id];
и аналогично для других входов.
имя_источника1, адрес источника1 и доход1 — это массивы, содержащие один элемент. Например, $sourcename[0]
вернется Jane Doe
,
Для получения дополнительной информации о массивах пожалуйста, прочитайте документацию.