[英]Getting values from a PHP array on form results
我的表单工作正常,但是在我的结果电子邮件中,我得到了用户选择的数组编号而不是值(例如,手套:3与手套:Cherry)。 我该如何更改?
这是我用于表单的php:
$unpwdgloves=array(
'Bubble Gum',
'Cherry',
'Green Apple',
'Vanilla Orange',
'Grape',
'Mint',
);
这是我的表格:
<select name="glove-color">
<option value="">-----------------</option>
<?php
foreach($unpwdgloves as $key => $value):
echo '<option value="'.$key.'">'.$value.'</option>';
endforeach;
?>
</select>
更换
echo '<option value="'.$key.'">'.$value.'</option>';
与
echo '<option>'.$value.'</option>';
您可以接收选择的位置,因为默认情况下,数组的键是从0-> n。 在您的情况下:
$unpwdgloves=array(
[0] => 'Bubble Gum',
[1] => 'Cherry',
[2] => 'Green Apple',
[3] => 'Vanilla Orange',
[4] => 'Grape',
[5] => 'Mint',
);
因此,您的选择将如下所示:
<select name="glove-color">
<option value="0">Bubble Gum</option>
<option value="1">Cherry</option>
[...]
</select>
因此,在POST中传递的值将是“值”属性中的值。 如果未指定其value属性,则默认情况下,发送到服务器的值是选项标签<option>VALUE</option>
的文本。
您可以将代码更改为
echo '<option value="'.$value.'">'.$value.'</option>';
//<option value="Bubble Gum">Bubble Gum</option>
要么
echo '<option>'.$value.'</option>';
//<option>Bubble Gum</option>
只需进行以下更改,因为key表示您在代码中使用的数组的索引。
<?php
foreach($unpwdgloves as $value):
echo '<option value="'.$value.'">'.$value.'</option>';
endforeach;
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.