如何使用 PHP 将选择选项设置为发送表单时选择的选项?这是我陷入困境的代码:
<?php
if(isset($_POST['btSubmit'])) {
$selectedOption = $_POST['s']; // Value of selected option … but how to use it below?
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="POST">
<select name="s">
<option value="" selected disabled>-- choose one --</option>
<option value="a">choose a</option>
<option value="b">choose b</option>
</select>
<input type="submit" name="btSubmit">
</form>
因此,当您在页面的下一次加载时发送带有选择的表单时,默认情况下应选择 a。
只需将
selected="selected"
属性添加到您在 option
下收到的 $_POST['s']
标签即可。
<?php
$selectedOption = '';
if(isset($_POST['btSubmit'])) {
$selectedOption = $_POST['s']; // Value of selected option … but how to use it below?
}
function injectSelectedAttribute($selectedOption, $option_value){
return strtolower($selectedOption) === strtolower($option_value) ? 'selected="selected"' : '';
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="POST">
<select name="s">
<option value="" disabled>-- choose one --</option>
<option value="a" <?php echo injectSelectedAttribute($selectedOption, 'a'); ?>>choose a</option>
<option value="b" <?php echo injectSelectedAttribute($selectedOption, 'b'); ?>>choose b</option>
</select>
<input type="submit" name="btSubmit">
</form>
您可以进一步改进它,通过循环选择选项的 PHP 数组来回显选项的 HTML。
<select required name="role_user" class="form-select">
<?php
$options = array( 'DG', 'DD1', 'DD2', 'DD3', 'SPAG', 'AG' );
$options_title = array( 'Admin', 'Superviseur Direction 1', 'Superviseur Direction 2', 'Superviseur Direction 3', 'Super-Agent', 'Agent' );
$output = '';
for( $i=0; $i<count($options); $i++ )
{
if ($get_users_data["permission"] == $options[$i]) {
echo "<option value=$options[$i] selected> $options_title[$i]</option>";
}else{
echo "<option value=$options[$i] > $options_title[$i]</option>";
}
}
?>
</select>
Try this,
<?php
if(isset($_POST['btSubmit'])) {
$selectedOption = $_POST['s']; // Value of selected option … but how to use it below?
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="POST">
<select name="s">
<option value="" selected disabled>-- choose one --</option>
<option value="a" <?php echo $selectedOption=='a'?'selected':'' ;?>>choose a</option>
<option value="b" <?php echo $selectedOption=='b'?'selected':'' ;?>>choose b</option>
</select>
<input type="submit" name="btSubmit">
</form>