2017-04-23 54 views
0
其他页面

数组key和value这是reservation.php文件:获取有关

enter image description here

这是checkout.php文件代码:

enter image description here

我无法打印选择选项值到页面。刚刚选择的数组键被打印。

+1

请分享您的代码而不是截图。 –

+0

这就是选择选项的工作原理。你会得到'价值'中的东西,而不是对用户显示的东西。这个问题是非常相似的:[从PHP中的选项标记中获取文本](http://stackoverflow.com/questions/6767748/get-text-from-option-tag-in-php) – FirstOne

+0

有没有办法得到这个数组在其他页面上的值?当我使用$ _POST ['transferTypes']代码它是打印数组键只是选择的选项... – alimsuat

回答

0

选择选项只会返回“值”。 由于没有使用数组键(根据您的代码)的,只是这样做:

echo "<option value='$transferName'>$transferName</option>"; 

这样你可以得到转移名称,而不是重点。

+0

是的,已经使用它。但是,如何转让的关键和价值?! – alimsuat

0

有很多方法可以做到这一点。

之一直观方法是key和串在中间合并成一个单一的字符串,与“特殊”的字符串/令牌来分割这些值。

例如,

"aaa" => "bbb" 

然后你就可以用 “::” 作为在中间分离器结合这两种,如 “AAA :: BBB”。您可以使用explode()来分隔中的密钥&值checkout.php文件。

reservation.php

<form action="checkout.php" method="post"> 
    <select name="transferTypes" id="transferTypes" required> 
    <?php 
     $transferTypes = array(
      "aaa" => "bbb", 
      "ccc" => "ddd" 
     ); 
     echo "<option value='' selected disable>yadayadayada .. </option>"; 
     foreach($transferTypes as $transferKey => $transferName) { 

      $combine = $transferKey . "::" . $transferName; // combine key::value here 

      echo "<option value='$combine'>$transferName</option>"; 
     } 
    ?> 
    </select> 
    <input type="submit" value="submit"> 
</form> 

checkout.php

<?php 
    list($key, $value) = explode("::" , $_POST['transferTypes']); 
    echo "Key : " . $key . "<br>"; 
    echo "Value : " . $value . "<br>"; 
?> 

请注意,这种方法不是任何地方干净,但随后可以直接完成这项工作?

另一种方法是将$transferTypescheckout.php分离到一个新的文件,包括到您的reservation.php,然后做array_search()找到钥匙。如果我在你身边,我会采用后一种方式。