php - 消息输入字段验证
问题描述
这个 PHP 验证真的很新
所以我正在尝试提交一个联系表单,我能够验证除 message(Textarea) 输入字段之外的所有其他字段。我一直在尝试输入该字段,因为<h1>Hello</h1>
HTML 标签能够通过,并且在电子邮件中,消息部分以 h1 格式显示/显示。
输入字段
已发送的电子邮件
是因为我使用 HTML 标记将信息从使用字段发送到电子邮件吗?
我尝试使用删除特殊字符的 PHP 函数。
if (trim($_POST["message"]) == "") {
$message_error = "Your message should not be empty";
} else {
$message = test_input($_POST["message"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
if ($name_error == '' and $email_error == '' and $phone_error == '' and $message_error ==''){
$message_body = '';
unset($_POST['submit']);
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$to = ' ';
$subject = "Contact";
$body = '<html>
<body>
<h1>Message from Contact Us</h1>
<hr>
<p>Name:<br>'.$name.'</p>
<p>Email:<br>'.$email.'</p>
<p>Phone Number:<br>'.$phone.'</p>
<p>Message:<br>'.$message.'</p>
</body>
</html>';
//header
$headers = "Content-type: text/html; charset-utf8";
$to = '';
$subject = 'Contact Form Submit';
if (mail($to, $subject, $body, $headers)){
$success = "Message sent, Thank you for contacting us!";
$name = $email = $phone = $message = '';
}
}
}
我希望在发送之前让 textarea(消息)剥离/删除 HTML 标签。
感谢您的帮助
解决方案
您可以使用 strip_tags() 函数:
strip_tags ( string $str [, string $allowable_tags ] ) : string
例子:
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
上面的示例将输出:
Test paragraph. Other text
推荐阅读
- react-native - 尝试从用户输入更新调查时 React Native-useContext '不是函数'错误
- java - 未更新 ProblemFact 中具有 InverseRelationShadowVariable 的 PlanningEntity 字段 - Optaplanner
- c++ - 为什么我需要评估 range-v3 视图才能将它们与 concat 一起使用?
- python - 为两个嵌套序列化程序更新 Django Rest Framework 中的 Create Method
- reactjs - 为什么使用历史回退时表单提交
- java - 类级别的 Java ConstraintValidator 缺少验证错误消息
- python-3.x - 索引在输入范围内
- python - 根据 GPS 坐标确定城市
- javascript - 运行命令 npm install 时更改 node_modules 目录
- swift - 如何在 swift 中使用 @resultbuilder 使用 UICollectionView?