早上好,
我有以下表格:
<form name="changeImage" method="post" style="padding-bottom: 5%; border-bottom: 1px dotted black; margin-bottom: 5%;" >
<select name="change[]" id="change" form="changeImage" style="width: 97%;">
<?php
foreach(glob('images/backgrounds/*.*') as $filename){
echo '<option value="'.$filename.'">'.$filename.'</option>';
}
?>
</select>
<input type="submit" name="changeBGimage" id="changeBGimage" value="Change BG Image" style="width: 97%;" />
<?php
if(isset($_POST['changeBGimage'])) {
$updateBG = "UPDATE grow_backgroundImage SET filePath = '".$_POST['change']."'";
$updateBGQuery = $conn->query($updateBG);
}
?>
</form>
我无法为$ filename分配唯一值。 经过一些研究,它看起来可以使用隐藏元素或数组来完成。我想使用一个数组,但我不确定如何做到这一点。
目前,在提交表单时,它正在正确地提交到数据库,但是所有值都等于foreach循环中的最后一个值。
非常感谢任何帮助。
答案 0 :(得分:2)
感谢@MonkeyZeus和@FunkFortyNiner的帮助。 使用以下代码解决了这个问题:
<form name="changeImage" method="post" style="padding-bottom: 5%; border-bottom: 1px dotted black; margin-bottom: 5%;" >
<select name="change" id="change" style="width: 97%;">
<?php
foreach(glob('images/backgrounds/*.*') as $filename){
echo '<option value="'.$filename.'">'.$filename.'</option>';
}
?>
</select>
<input type="submit" name="changeBGimage" id="changeBGimage" value="Change BG Image" style="width: 97%;" />
<?php
if(isset($_POST['changeBGimage'])) {
$updateBG = "UPDATE grow_backgroundImage SET filePath = '".$_POST['change']."'";
$updateBGQuery = $conn->query($updateBG);
echo '<pre>'.print_r($_POST, true).'</pre>';
}
?>
</form>