[英]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.