【问题标题】:validating an email address properly with PHP [duplicate]使用 PHP 正确验证电子邮件地址 [重复]
【发布时间】:2013-01-26 17:24:27
【问题描述】:

我正在尝试编写一个执行以下操作的脚本: 将用户消息打印到屏幕上并通过电子邮件发送给他们。

这是我的代码由于某种原因它告诉我我的电子邮件地址是无效的,但它是一个有效的电子邮件地址,有什么建议吗?我错过了什么? :-\

<?php
  if(strtolower($_SERVER['REQUEST_METHOD']) == 'post');

  $errors = null;
  $success = true;

  function checkEmail($email){
      return filter_var($email, FILTER_VALIDATE_EMAIL);
}

 if($_POST){
$errors = array();
$to = $_POST['email'];
$subject = 'Your Comment';
$message = $_POST['message'];
$headers = 'From: blahblah69@gmail.com' . "\r\n" . 'Reply-To:
     mitides.constantin@gmail.com' . "\r\n" .
            'X-Mailer: PHP/' .phpversion();



if(!$to || !$message){
    $errors[] ="Please fill in both a email and a message.";
} else if(!checkEmail($to) && $_POST['message'] = filter_var($_POST['message'],
   FILTER_SANITIZE_STRING));{
    $errors[]= print ('You did not enter a valid email, please try again.');
 }
 if($errors || !$_POST){

    if($errors){
        foreach($errors as $error){
            echo $error. "<br />";
        }
    }
}
if(!$errors && $success){
    mail($to, $subject, $message, $headers) && print($_POST['message']);

  } ?>

【问题讨论】:

  • 你不能指望50双手有多少问题与此相似。
  • $errors[] = print('...') 错误。
  • 你的 php 版本是什么?可能是已修复的错误。
  • @WaleedKhan 这不是错,而是令人困惑 ;-) 因为最终结果是一样的
  • @user1905577 也许您只是不知道如何使用这些问题。

标签: php validation email


【解决方案1】:

首先将 else if 部分放在这样的括号中 ($_POST['message'] = filter_var($_POST['message'],FILTER_SANITIZE_STRING))

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2018-05-30
    • 2021-04-03
    • 2013-03-25
    • 2015-08-24
    相关资源
    最近更新 更多