我试图在屏幕上回显用户从下拉菜单中选择的内容。因此,无论何时用户选择一个数字,它都会更新其下方的文本以显示他们选择的内容。这是我的代码:
<html>
<head>
</head>
<body>
<label for="numbers"></label>
<form action="drop.php">
<select name="numbers">
<option value="0">select number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<br><br>
<input type="submit">
</form>
<?php
if(isset($_POST['numbers']))
{
$numbers = $_POST['numbers'];
$error = "?";
echo "<p>" . $numbers . "</p>";
}
?>
</body>
</html>
更新的主要代码
答案 0 :(得分:2)
在表单声明中尝试method =“post”。或使用$ _GET而不是$ _POST ON drop.php
如果(isset($ _ POST [ '编号']))
答案 1 :(得分:1)
我建议阅读PHP的Dealing with Forms教程,并研究change event。
对于您的代码示例,我在select元素中添加了form element和“onchange”属性,当选择数字时,该元素将自动提交表单。
<html>
<head>
</head>
<body>
<form action="<?php echo basename(__FILE__); ?>" method="post">
<label for="numbers">Numbers:</label>
<select name="numbers" onchange="document.forms[0].submit();">
<option value="0">select number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit">
</form>
<?php
if (array_key_exists('numbers', $_POST)) {
$numbers = $_POST['numbers'];
echo '<p>' . $numbers . '</p>';
}
?>
</body>
</html>
答案 2 :(得分:1)
将method =“post”添加到表单
<form action="drop.php" method="post">