我想创建一个HTML(或者php?)页面,根据用户提供给下拉框的输入参数构建一个新的HTML页面。我只是不知道你如何处理输入。
这是我的 HTML:
<html>
<body>
<input type="number" min="1">
</body>
</html>
是的,我知道这不是完整的 HTML 页面,但我只想专注于 <input>
标签。我知道您可能必须将其设置为等于PHP变量?
我希望它生成一个不同的 HTML 页面,如下所示:
<html>
<body>
<p>You have chosen: $input </p>
</body>
</html>
我可能问错了,但我希望我正在寻找的东西是有意义的。我需要知道如何处理用户输入。我找不到讨论这个问题的线程。我需要生成一个新的 HTML 文件吗?或者只是覆盖当前的一个,也许有一个重置按钮?我很困惑。
在简单的情况下,您将有两个页面:表单和结果页面。您可以使用以下两种方法之一将数据从表单页发送到结果页:GET 或 POST。
GET 表示您发送的数据被放入页面 URL 中。这很有用,因为这样您就可以链接到结果页的特定版本,但可能会有危险,因为您不想将敏感数据放在 URL 栏中。
POST 表示数据在后台使用 HTTP 请求发送。对于密码之类的东西,这是可取的。
GET和POST数据几乎可以被任何服务器端语言读取,并用于即时生成HTML。下面的示例使用 PHP。
表单页不一定需要任何服务器端代码,只需要基本的 HTML。下面是一个简单的示例:
<!DOCTYPE html>
<html>
<form method="GET" action="my_result.php">
<input type="text" name="my_value">
<input type="submit">
</form>
</html>
您的第二个页面(结果页面)应具有您在表单的 action
属性中指定的名称。这是需要服务器端代码的页面。所以这里有一个例子my_result.php
:
<!DOCTYPE html>
<html>
<p><?php echo $_GET['my_value']; ?></p>
</html>
显然,只要输入元素的name
属性与 PHP 中的键匹配,my_value
可以而且应该替换为您想要调用数据的任何内容。
此示例使用 GET 方法。您可以通过更改表单的 method
属性并使用 $_POST
而不是 $_GET
(如果您使用的是 PHP)来使用 POST。
如果您使用 $_REQUEST
而不是 $_GET
或 $_POST
,它会找到一个通过 GET 或 POST 传递的值。这通常不如明确说明您的值是如何传递的那么安全。
附录:出于安全目的,某些服务器配置为不允许直接使用 php 超全局变量(如 $_GET
、$_POST
和 $_REQUEST
)的值。这是因为在应用程序中使用用户输入之前,您确实应该始终对其进行清理。所需的清理类型取决于输入的类型及其使用方式,这远远超出了本问题的范围。为此,php 提供了filter_input
函数。
清理过滤器是filter_input
函数的可选参数,因此,如果您真的想使用未过滤的数据,您可以简单地省略它(但要知道这是危险的)。在这种情况下,您可以将上述代码中的所有$_GET['my_value']
实例替换为 filter_input(INPUT_GET, 'my_value')
。
这不是一个教程,但我会引导您了解一些要点:
- 您可以使用表单元素获取 html 的用户输入。 阅读更多关于表单和表单方法(GET 和 POST)的信息。
- 那么,当用户提交时如何打印用户输入? PHP 支持使用 $_GET 和 $_POST 以输入名称作为键的 GET 和 POST。
- 由于安全性的原因,处理用户输入需要格外小心。 用户可能会提交恶意内容,这些内容稍后会攻击您或其他用户。
尝试如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
if ($_POST) {
echo "<h3>You have selected ".$_POST['number']."</h3>";
} else {
echo '
<form method="post" action="">
<select name="number" id="number">
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
</select>
<input type="submit" value="submit">
</form>
';
}
?>
</body>
</html>
要处理用户输入,您必须使用表单
<form action="action_page.php">
<input type="number" min="1 name="my-number">
<input type="submit" value="Submit">
</form>
用户设置号码并按提交按钮后,您将获得 $_REQUEST['my-number'] action_page.php值