Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
PHP-回发后如何维护select元素的值?_Php_Postback - Fatal编程技术网

PHP-回发后如何维护select元素的值?

PHP-回发后如何维护select元素的值?,php,postback,Php,Postback,我目前有以下选择: <select name="state" id="state" selected="<?php echo $state; ?>"> <option value="--">--</option> <option value="ACT">ACT</option> <option value="NSW">NSW</option>

我目前有以下选择:

<select name="state" id="state" selected="<?php echo $state; ?>">
        <option value="--">--</option>
        <option value="ACT">ACT</option>
        <option value="NSW">NSW</option>
        <option value="NT">NT</option>
</select>
这是与$state相关的php:

<?php 
    $state = "";
    $state = $_POST["state"];
?>
因为我没有对它运行任何验证,所以我只想在回发后保留它的值。

将代码更改为

<select name="state" id="state" selected="<?php echo $state; ?>">
        <option value="--"<?php echo ($state=='')?" selected":""?>>--</option>
        <option value="ACT"<?php echo ($state=='ACT')?" selected":""?><>ACT</option>
        <option value="NSW"<?php echo ($state=='NSW')?" selected":""?>>NSW</option>
        <option value="NT"<?php echo ($state=='NT')?" selected":""?>>NT</option>
</select>
将代码更改为

<select name="state" id="state" selected="<?php echo $state; ?>">
        <option value="--"<?php echo ($state=='')?" selected":""?>>--</option>
        <option value="ACT"<?php echo ($state=='ACT')?" selected":""?><>ACT</option>
        <option value="NSW"<?php echo ($state=='NSW')?" selected":""?>>NSW</option>
        <option value="NT"<?php echo ($state=='NT')?" selected":""?>>NT</option>
</select>

选项标签上的一个简单条件就可以了

如果选择了选项标记,则只需在其上设置selected

<select name="state" id="state" selected="<?php echo $state; ?>">
    <option value="--">--</option>
    <option <?php if($state == "ACT") echo "selected"; ?> value="ACT">ACT</option>
    <option <?php if($state == "NSW") echo "selected"; ?> value="NSW">NSW</option>
    <option <?php if($state == "NT") echo "selected"; ?>  value="NT">NT</option>
</select>

选项标签上的一个简单条件就可以了

如果选择了选项标记,则只需在其上设置selected

<select name="state" id="state" selected="<?php echo $state; ?>">
    <option value="--">--</option>
    <option <?php if($state == "ACT") echo "selected"; ?> value="ACT">ACT</option>
    <option <?php if($state == "NSW") echo "selected"; ?> value="NSW">NSW</option>
    <option <?php if($state == "NT") echo "selected"; ?>  value="NT">NT</option>
</select>

这些选项是可选的

试试这个:

<select name="state" id="state">
    <option value="--">--</option>
    <option value="ACT"<?php if ($state=="ACT"){echo " selected";} ?>>ACT</option>
    <option value="NSW"<?php if ($state=="NSW"){echo " selected";} ?>>NSW</option>
    <option value="NT"<?php if ($state=="NT"){echo " selected";} ?>>NT</option>
</select>

这些选项是可选的

试试这个:

<select name="state" id="state">
    <option value="--">--</option>
    <option value="ACT"<?php if ($state=="ACT"){echo " selected";} ?>>ACT</option>
    <option value="NSW"<?php if ($state=="NSW"){echo " selected";} ?>>NSW</option>
    <option value="NT"<?php if ($state=="NT"){echo " selected";} ?>>NT</option>
</select>
在PHP中,您将$state从一个空变量改写为POST值,因此那里的第一行实际上没有任何用处。但是,您应该检查是否设置了POST值,以避免未定义的索引通知。此外,标记中没有选择项,这是标记的属性。在PHP中,您可以将$state从一个空变量改写为POST值,因此第一行实际上没有任何用处。但是,您应该检查是否设置了POST值,以避免未定义的索引通知。此外,标记中没有选择项,这是标记的属性。你可以