php - 如何为 HTML 表单输入设置默认值?
问题描述
所以我在 HTML 中做了一个小表单,它允许用户输入他们的名字,然后显示在网站上。除了您第一次访问该页面之外,这工作正常,因为输入字段还没有保存值,因此在尝试呈现 PHP 时会显示错误消息。我想知道是否有任何方法可以为输入字段设置默认值,所以我没有收到此错误。
这是我的代码:
<html>
<head>
<title>My PHP Site</title>
</head>
<body>
<h1>My PHP Site</h1>
<form action="dynamictest.php" method="post">
<input type="text" name="username" placeholder="Username">
<input type="submit"><br>
</form>
<?php
if ($_POST['username'] === '') {
echo "<p>Welcome, stranger.</p>";
} else {
echo "<p>Welcome, {$_POST['username']}.</p>";
}
?>
</body>
</html>
解决方案
POST
在您的 PHP 代码中,您应该在尝试处理POST
元素之前检查请求是否为 a :
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($_POST['username'] === '') {
echo "<p>Welcome, stranger.</p>";
} else {
echo "<p>Welcome, {$_POST['username']}.</p>";
}
}
?>
如果页面不是POST
,这将不会运行您现有的代码,因此不会发生导致错误的情况。
推荐阅读
- ios - iPhone 7plus 和 8plus 上的 UIView 问题
- python - 无法使用 Python 2.7 在 Mac 上安装 Tensorflow
- javascript - Laravel,Vue.js 数组为空
- java - 查看 int 数组并忽略数字的倍数的方法
- ios - 在哪里存储我的 MusicKit 应用程序的开发者令牌?
- java - 仅过滤掉与某个元素匹配的列表的第一个元素的替代方法
- spring-boot - Swagger ui在zuul后面的时候在测试页面增加了一个/path
- angular - 模板解析错误:无法绑定到“formGroup”,因为它不是“form”的已知属性
- angular - Angular 应用程序的业务规则引擎
- css - CSS3不确定的进度条不会冻结