我正在学习php,并且在一个页面上有一个表单。当您按下提交按钮(使用$_GET
)时,它将与表单的其余部分一起进入一个新页面。
我正在一个选择框中计算成年人的人数。
如何$_GET
值并将其放入选择选项中,以便填充?
下面是一个向self发布的表单示例。
在构建选项列表时,我们将根据用户提供的值检查值,如果它们匹配,则添加属性"selected"。
<?php
$options = array('3', '4', '5');
$adults = null;
$error = null;
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$adults = isset($_POST['adults']) ? $_POST['adults'] : null;
// Check the user supplied valid number.
if(in_array($adults, $options)) {
echo 'Valid post.';
// Your processing.
} else {
$error = 'Invalid option for adult.';
}
}
?>
<html>
<head><title>Select list form</title></head>
<body>
<?php if($error) echo $error; ?>
<form method="POST">
Number of adults:<br />
<select name="adults">
<?php foreach($options as $number) { ?>
<option value="<?php echo $number; ?>"
<?php echo $number == $adults ? 'selected' : ''; ?>
>
<?php echo $number; ?>
</option>
<?php } ?>
</select>
<input type="submit" value="submit" >
</form>
</body>
</html>
提交表单时,您可以获得$_get[变量名称]发送的值;
如果你的选择是名称为adwn_number,你可以像这个一样检查它的选择
<select name="x">
<?php
$adult_number = $_GET['adult_number'];
for($i=0; $i<10; $i+=1)
{
$selected = ($adult_number == $i ? 'selected' : '');
echo '<option value="'.$i.'" '.$selected.' />';
}
?>
这将检查提交的金额是否等于$i(例如,从1到10),如果相等,它将选择该选项。
获取值并将其存储在数组中,然后进行循环以创建选择的选项。如果您使用像symfony这样的框架,您可以做得更干净。