当前位置: 首页 > 知识库问答 >
问题:

JS验证后为空的联系人表单

羊舌成周
2023-03-14

我们正在从我们的站点联系表收到空电子邮件,我们不知道为什么。我们的表单非常简单,验证也不是那么先进,但足以满足我们的目的。

我们有5个字段:

  • 名称(文本输入)
  • 邮件(文本输入)
  • 电话(文本输入)
  • 原因(选择,3个值)
  • 消息(文本区)

然后使用JS验证所有字段。最后,使用submit,我们发送带有php邮件功能的邮件:

<?php
$name = $_POST['name'];
$mail= $_POST['mail'];
$phone= $_POST['phone'];
$reason= $_POST['reason'];
$message= $_POST['message'];

$header = 'From: ' . $mail. " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$msg.= "Name: " . $name . " \r\n";
$msg.= "Mail: " . $mail. " \r\n";
$msg.= "Phone: " . $phone. " \r\n";
$msg.= "Reason: " . $reason. " \r\n";
$msg.= "Message: " . $message. " \r\n";

$for= "ourmail@ourserver.com";
$as= "Contact form";

mail($for, $as, $msg, $header);
?>

总的来说,工作正常。但有时我们会收到一封包含所有内容的电子邮件(包括原因...这是一个选择!)字段为空。类似于:

Subject: Contact form
Name:
Mail:
Phone:
Reason:
Message:

怎么会这样呢?

共有1个答案

邵骁
2023-03-14

当您通过POST发送数据时:

您是否考虑过操作url可能直接从浏览器访问,而不需要任何类型的POST数据?。那会使所有的“字段”都是空的。

如果是这种情况,您可以通过以下几种方式尝试服务器验证:

  • 添加引用验证,以便只能从表单url访问url。您可以使用$_Server['HTTP_Referer']来实现此目的,但请记住,它可能并不总是可用的。
  • 查找是否发送了数据。您可以像在if(isset($_post['name'])&isset($_post['email'])中那样使用isset来添加服务器验证。您可以始终这样做$name=isset($_post['name'])?$_post['name']:'no_name_enter'并发送电子邮件。
  • 在表单中添加一个隐藏输入,如“contacting”,并检查是否设置了服务器端:if(!isset($_post['contacting']))die('error:表单未发送');

无论如何,请记住,您接收到的大多数数据都可能被污染,即使是通过select字段发送的数据。

 类似资料:
  • 我正在做我的第一个网站使用reactjs,我试图完成联系表格页面,并带我2天到目前为止。我使用nodemailer和配置部分,我使用Gmail帐户与OAuth2. 用户将发送姓名,电子邮件和消息,表单将发送到我的电子邮件地址。在我按下发送按钮后,url更改为http://localhost:3000/contact(正如我在文件中的目标),但没有任何内容出现在页面中,甚至在控制台中也没有。 我不知

  • 本文向大家介绍jquery 表单验证之通过 class验证表单不为空,包括了jquery 表单验证之通过 class验证表单不为空的使用技巧和注意事项,需要的朋友参考一下 在开发系统时,往往都有某些表单数据为必填项,若用jQuery通过ID去验证,不仅会影响效率,还会有所遗漏,不易于后期维护。 本章将介绍如何利用jQuery,通过为表单配置class进行统一验证。(ID一个页面只可以使用一次;cl

  • 本文向大家介绍实例讲解js验证表单项是否为空的方法,包括了实例讲解js验证表单项是否为空的方法的使用技巧和注意事项,需要的朋友参考一下 表单验证几乎在每一个需要注册或者登陆的网站是必不可少的,有些验证则非常的复杂,可以说是各种各样给你的要求,不过本章节只介绍一下表单中最简单的验证方式,就是判断是否为空,有些要求比较低的网站对此已经满足需要了。 代码如下: 以上就是本文的详细内容,希望对大家的学习有

  • 联系人列表用来展示个人的联系方式。 联系人列表是分组列表(Grouped Lists)的一个特殊的类型,主要有2点不同: 列表区域元素(“list-block”)需要带上额外的“contacts-block”类 页面内容元素(“page-content”)需要带上额外的“contacts-content”类 示例 <div class="page-content contacts-content"

  • M600 会显示您存储在 Google Contacts(Google 联系人)上的联系人信息。您可以呼叫联系人或给他们发送信息或电子邮件。 *请注意,由于手机的操作系统的不同,其通讯功能的使用会受到某些限制。

  • 本文向大家介绍JS非空验证及邮箱验证的实例,包括了JS非空验证及邮箱验证的实例的使用技巧和注意事项,需要的朋友参考一下 非空验证 邮箱验证 以上这篇JS非空验证及邮箱验证的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。