上次我从手机发布了不完整的问题。 现在这是我的完整问题。 好的我的问题是我建立了一个编辑页面 editProduct.php 。在这里,我建立了三种形式,因为我有三个类别每个类别都有自己的形式。这三种形式几乎都是一样的。例如:产品名称输入框,条件选择框等等。当我点击编辑按钮编辑页面打开时,我查看产品页面,在一个字段中,它在输入框中显示产品的当前值,也在复选框中显示产品的当前值。这是我的HTML代码。
<input type="text" name="p_name[]" value="<?php echo $db_pname; ?>" placeholder="Product Name">
<select name="guarented-delivery[]" id="guarented-delivery">
<option value="1 Days Shipping" <?php if($db_gdelivery=="1 Days Shipping") { echo 'selected="selected"'; } ?>>1 days</option>
<option value="2 Days shipping" <?php if($db_gdelivery=="2 Days shipping") { echo 'selected="selected"'; } ?>>2 days</option>
<option value="3 Days shipping" <?php if($db_gdelivery=="3 Days shipping") { echo 'selected="selected"'; } ?>>3 days</option>
<option value="5 Days shipping" <?php if($db_gdelivery=="5 Days shipping") { echo 'selected="selected"'; } ?>>5 days</option>
<option value="7 Days shipping" <?php if($db_gdelivery=="7 Days shipping") { echo 'selected="selected"'; } ?>>7 days</option>
<option value="10 Days shipping" <?php if($db_gdelivery=="10 Days shipping") { echo 'selected="selected"'; } ?>>10 days</option>
</select>
好的,所以这是一个例子,我有三个类别,每个类别形式我都使用相同的代码。我将 [] 与名称属性一起使用,因为它在所有表单中使用,以便它在数组中获得all的值。但是不知道如何在输入框中获取所选文本或新文本的值?因为它显示了旧值而不是新输入的值。这是我的PHP代码。
$name = $_POST['p_name'];
foreach($name as $pname)
{
$pname;
// if i echo here then i shows me old product name 3 times echo outside this loop to get value 1 time.
}
echo $pname;
//for dropdown
$gd = $_POST['gdelivery'];
foreach($gd as $gdelivery)
{
$gdelivery;
}
echo $gdelivery;
帮我解决这个问题。谢谢。
答案 0 :(得分:2)
在讨论您的意见后,这将适合您:
重要的是,所有选择必须在同一表格内。
<form method="post">
<select name="colors[]"><option value="black">black</option></select>
<select name="colors[]"><option value="red">red</option></select>
<select name="colors[]"><option value="gold">gold</option></select>
<input type="submit">
</form>
<?php
$colors = isset($_POST['colors']) ? (array) $_POST['colors'] : [];
foreach($colors as $color)
{
echo "$color<br>\n";
}
// black
// red
// gold