如果字段为空,则使PHP表单不执行任何操作

时间:2016-05-05 11:11:28

标签: php forms

此时我的页面上有一个小型联系人,要求提供电话号码。

如果没有输入数字,表格应该什么都不做。而不是向我的客户端发送空电子邮件。 如果字段为空,表单不必创建消息或其他内容。 我只想拥有额外的PHP代码,如果有人在字段为空时单击发送按钮,则可以确保发生这种情况。

这是我的代码:

<?php

$EmailFrom = Trim(stripslashes($_POST['email']));
$EmailTo = "INFO@EPIMMO.BE";
$Subject = "Vraagt om hem te bellen - Website Epimmo";
$free = Trim(stripslashes($_POST['free']));

// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";

$Body .= "Volgend telefoonnummer werd ingevoerd via uw website:";
$Body .= $free;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.epimmo.be/hire-us-phone.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

感谢阅读和希望的解决方案; - )

克里斯托夫

5 个答案:

答案 0 :(得分:2)

首先,您可以添加if检查电子邮件或电话号码的条件是否为空白 然后在其空白处执行下一个发送电子邮件的代码。

if(isset($_POST['email']) && $_POST['email']!="") 
{
 //write here your code to send an email
}

答案 1 :(得分:0)

您可以使用HTML执行此操作:

<input type="number" required></input>

答案 2 :(得分:0)

if(!isset($_POST['free']) || empty($_POST['free']) { header('location: /hire-us-phone.php'); exit; } 之后,您可以添加以下代码:

header('location: /hire-us-phone.php');

/hire-us-phone.php会将标头重定向到exit;(这比使用元刷新好得多),[XML Link](http://www.hattem.nl/roonline/0269/plannen/NL.IMRO.0269.OV165-/NL.IMRO.0269.OV165-VG01/g_NL.IMRO.0269.OV165-VG01.xml) 将确保在运行标头重定向后没有代码。

答案 3 :(得分:0)

要重定向,您应该使用:

header("Location: your-url.php");
exit;

此代码需要在回显任何内容之前进行,包括空格。

此外,这段代码是什么?

// validation
$validationOK=true;
if (!$validationOK) {

显然,if语句永远不会是假的。

您可以验证简单的方法,例如一个大的if语句。但更好的方法是做这样的事情:

if($_POST['email'] == ''){
  $_SESSION['my_form']['errors']['email'] = 'The email was left blank';
}
if(!empty($_SESSION['my_form']['errors'])){
  // redirect & exit here
}

然后在您的表单页面上,您可以使用此会话数据向用户显示相关错误:

if(isset($_SESSION['my_form']['errors']['email'])){
  // output $_SESSION['my_form']['errors']['email'] here to the user
}

答案 4 :(得分:0)

在这里,我们看到了操作页面,这意味着已经发生了一些事情:表单已提交,并重定向到操作页面。

正如@Mohini指出的那样,您可以在操作页面上测试空字段的条件。

但是按下提交按钮后,您可以轻松地在表单页面上使用javascript来测试是否填充了必填字段。

(普通的香草javascript)

if(! document.forms['formname']['email'].value == "" ){
    document.forms['formname'].sumit();
} else {
    // do nohing. Or do something. I don't really care!
}