php - PHP $_POST 如何获取不在电子邮件中显示的预设 html 字段值
问题描述
我有一个 html 表单,它有一个带有文本“评论(可选)”的文本区域和一个具有预设值“在此处输入名称”的字段,以及一个具有电子邮件模板的 php 表单处理程序。
<form>
<textarea name="comments" cols="30" rows="4">Comments (optional)</textarea>
<input type="text" name="join" value="Enter names here">
</form>
$message = "
Comments: " . $comments . "
Names: " . $person1 . " " . $join . "
"
我试图让通过的电子邮件在“评论:”之后不显示任何内容(即它仍然显示“评论(可选)”并在用户留下评论时显示评论。这同样适用于文本字段,如果用户没有输入名称,我希望它不显示任何内容,而不是在用户未提供名称时显示“在此处输入名称”。
我是 php 的初学者,我尝试了以下方法:
$emptyfield = ' ';
if ($comments != 'Comments (optional)') {
$comments = $_POST["comments"];
} else {
$comments = $emptyfield;
}
if ($join != 'Enter names here') {
$join = 'joining with ' . $_POST["join"];
}
但我收到的电子邮件仍然显示
评论:评论(可选)
姓名: ($person1) 加入并在此处输入姓名
如果有人能告诉我我在这里做错了什么,我将不胜感激。谢谢!
解决方案
有一个特殊的属性placeholder
,您可以在其中提供一些提示。当用户点击<input>
或
<textarea>
开始输入时,placeholder
会消失。因此,将您的标记更改为:
<form>
<textarea name="comments" cols="30" rows="4" placeholder="Comments (optional)"></textarea>
<input type="text" name="join" placeholder="Enter names here" value="">
</form>
提交后,如果没有输入,您将获得用户输入的确切内容或空字符串。
推荐阅读
- simulation - 多重插补的 Ancova 模拟
- python - 使用 Python 和 Pandas 访问 JSON 元素
- apache-spark - 基于数据框条件在 Spark 中创建自定义计数器
- python - C4.5 决策树的 ROC 曲线
- batch-file - 如何运行 localhost 服务器然后在一个批处理文件中打开浏览器?
- javascript - 创建新的唯一值集,但从同一记录中复制另一个值以创建新的对象数组
- javascript - Leaflet js在本地主机上工作,但从硬盘打开时不起作用
- sql-server - 生成的CHECK CONSTRAINT sql有什么用
- mysql - mySQL 查询以按类型查找一系列事件的第一个事件
- google-sheets - 2 组标记从 Google 表格通过桌面到传单