簡體   English   中英

在表單結果上從PHP數組獲取值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM