Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当您希望处理实际的“”而不是“value”属性时,如何在PHP中处理选择框?_Php_Forms_Drop Down Menu_Form Processing - Fatal编程技术网

当您希望处理实际的“”而不是“value”属性时,如何在PHP中处理选择框?

当您希望处理实际的“”而不是“value”属性时,如何在PHP中处理选择框?,php,forms,drop-down-menu,form-processing,Php,Forms,Drop Down Menu,Form Processing,当我使用下面的PHP代码处理上面的内容时,它会显示在“value”属性中定义的内容,在本例中是价格。实际上,我想显示标记kraiennest、Kajuit、Kapiteinshut中定义的内容。我如何做到这一点 我无法更改这些值,因为在表格末尾计算了总价 <span> Kamertype :</span> <select class="autowidthselect" required area-required="true" name="prijs

当我使用下面的PHP代码处理上面的内容时,它会显示在“value”属性中定义的内容,在本例中是价格。实际上,我想显示标记kraiennest、Kajuit、Kapiteinshut中定义的内容。我如何做到这一点

我无法更改这些值,因为在表格末尾计算了总价

<span> Kamertype :</span>
        <select class="autowidthselect" required area-required="true" name="prijskamertype" onChange="calculatePrice()" id="prijskamertype">
            <option selected="selected" value="">Selecteer kamertype</option>
            <option value="295">Kraaiennest</option>
            <option value="395">Kajuit</option>
            <option value="495">Kapiteinshut</option>
        </select>
编辑:

我已经创建了一个数组和一个下拉列表:

<?php
$prijskamertype = $_POST ['prijskamertype'];
echo $prijskamertype.' type';
?>
HTML代码:

<?php
$optionskamertype = array();
$optionskamertype[""] = "Selecteer kamertype";
$optionskamertype["295"] = "Kraaiennest";
$optionskamertype["395"] = "Kajuit";
$optionskamertype["495"] = "Kapiteinshut";
?>

我现在必须做什么?

没有办法做到这一点的是普通的PHP

编辑:


这在JavaScript中可能是可行的,但这并不可靠,因为客户端可以控制它。

这与PHP无关,而是HTML表单的工作方式:浏览器发送到服务器的唯一内容是value属性的内容。或者,如果没有,选项标记的内容,但这在这里并没有真正的帮助,因为您仍然只能得到一个值

不过,您可以在PHP代码中使用一个数组,其中包含所有选项的值和标签。您可以首先使用它创建下拉列表,然后在提交表单时执行以下操作:

        <span> Kamertype :</span>
        <select class="autowidthselect" required area-required="true" name="prijskamertype" onChange="calculatePrice()" id="prijskamertype">

             <?php
                foreach($optionskamertype as $key => $value)
                {
                    echo '<option value="'. $key .'" label="'. $value .'">'.$value.'</option>';
                }
             ?>

        </select>

将选项保存在php数组中,选项值为key->$options=array395=>'Kajuit'。。。;。然后在表单提交时,只需选择值->$options[$\u POST['prijskamertype']]作为旁注,如果这些值是价格而不是ID,请非常小心:请记住,来自浏览器的所有输入都不可信;如果我使用浏览器的调试工具提交“1”的价格,会发生什么?客户端也可以控制value属性。因此,使用JavaScript发送值的文本内容并不比value属性更危险!
$label = $option_list[ $_POST['whatever'] ];