我尝试打印用户在表单提交时选择的多个值。然而,我所看到的只是最后一个打印的元素,无论它是否被选中。
请注意,我正在看的屏幕上的印刷品是外行人可以理解的印刷品!
<?php
if(isset($_POST['submit'])) {
//I'm trying to show the user these are the values you've selected
print_r($option['name']);
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER[" PHP_SELF "]);?>">
<td class="container">
<select multiple name="mercha_A[]" class="selectpicker form-control" title="Merchandiser type">
<?php foreach ($options as $option) { ?>
<option value="<?php echo $option['value']; ?>" <?php echo (isset($_POST[ 'mercha_A']) && in_array($option[ 'value'], $_POST[ 'mercha_A'])) ? ' selected="selected"' : ''; ?>>
<?php echo $option['name']; ?>
</option>
<?php } ?>
</select>
</td>
<td><button type="submit" name="submit">Submit</button></td>
</form>
任何人都需要在我的帐户上喝咖啡吗?
答案 0 :(得分:1)
将print_r
封装在<pre>
代码
echo "<pre>";
print_r($option['name']);
echo "</pre>;
答案 1 :(得分:0)
我认为你打算打印
$_POST['mercha_A'];
否则,$option['name']
在您的情况下是完全未定义的,但即使您将print_r()
放在脚本的末尾,它也只是{{1}中最后一个选项的名称}。
为了使$options
可读,您可以在浏览器中查看来源(Ctrl + U),或将其包装在print_r()
标签中。
答案 2 :(得分:0)
echo "<pre>";
print_r($_POST['mercha_A']); // you have to print the name attribute not option
echo "</pre>;
答案 3 :(得分:0)
使用TYPO3中的extbase
调试器。
它可以帮助您以可读的方式调试arrays
和object
DebuggerUtility::var_dump($array)
答案 4 :(得分:0)
根据您的情况,您可以使用其中任何一种,我认为最后一种将最好地适合那些没有编程背景的人。因为,我认为JSON是一种人类可读的格式。
echo '<pre>'; print_r($_POST['mercha_A']); echo '</pre>';
echo json_encode($_POST['mercha_A']);