繁体   English   中英

PHP电子邮件验证和附加UR​​L

[英]PHP Email Validation & Append URL

如果对此已经有答案,我深表歉意。 我已经看过了,我简直无法做出我已经看过的答案,所以请...要温柔。

我对PHP确实很陌生,并不精通Javascript。 本质上,我只是在为自己的企业建立一个网站,而我想做的就是在主页上建立潜在客户表格。 目的是安全地获取客户的电子邮件地址,并将他们的电子邮件附加到URL上,将其重定向到预订页面。

即,客户在首页上输入其电子邮件地址

www.hygenius.co 

当他们单击“提交”时,它将验证他们是否输入了真实地址,并且该字段不是空白,然后将其转到

www.hygenius.co/book?email=customersemail

但是,对于我的一生来说,我似乎无法获得我试图工作的任何东西。

到目前为止,我的表单看起来像这样;

<form action="lead.php" method="POST">
 <input type="text" name="email" placeholder="Enter a valid E-mail Address">
 <span class="error">* <?php echo $emailErr;?></span>
 <input type="submit" name="submit" value="Submit">  
</form>

我的lead.php文件看起来像这样。

<?php
// define variables and set to empty values
$emailErr = "";
$email = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // check if e-mail address is well-formed
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format"; 
    }
  }

}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

header( 'Location: http://www.hygenius.co/book.html' ) ;
?>

到目前为止,我甚至还没有设法使电子邮件验证正常工作,我试图遵循W3schools的指导,但没有任何效果。 它仅允许您单击提交并直接进入预订页面,而无需任何验证,并且也不会出现错误消息。 我不知道如何进入可以将信息附加到URL的阶段。

我敢肯定,我在这里只是非常难以置信,编码根本不是我的专长,但是任何有关如何进行这项工作以及我将要去哪里的指导都将得到极大的赞赏。

温暖的问候,

乔纳森·克劳。

我将逻辑(必须为非空和有效的电子邮件)组合在一起,然后进行重定向。 否则显示一般无效错误。

<?php

$emailErr = "";

if ($_SERVER["REQUEST_METHOD"] == "POST")
{
  if (
    !empty($_POST["email"]) &&
    filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)
  )
  {
    header('location: ?email=' . urlencode($_POST["email"]));
    exit;
  } else {
    $emailErr = "Valid email address required."; 
  }
}

?>
<form method="POST">
    <input type="text" name="email" placeholder="joe@example.com">
    <span class="error"><?php echo $emailErr;?></span>
    <input type="submit" name="submit" value="Submit">  
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM