dongyongmin5711 2017-04-27 02:51 采纳率: 100%
浏览 146

验证电子邮件PHP

I am trying to add onto my current PHP script (below) to now validate if a user put in a correct Email. My PHP below is to send a form to an Email address, and now I added onto it to validate the Email. What am I doing wrong? I am getting the $output_form = true/false; from the book Head First PHP & MySQL. The book does not teach me how to add onto my original PHP script to send an Email.

<?php
$myname = $_POST['name'];
$myemail = $_POST['email'];
$mytelephone = $_POST['telephone'];
$what_service = $_POST['service'];
$mycomments = $_POST['comments'];

if (isset($POST['submit'])) {
$to = 'example@aol.com';
$subject = 'Contact Us - My Business';
$msg = "Name: $myname
" .
"Service: $what_service
" .
"Telephone #: $mytelephone
" .
"Comments: $mycomments";
mail ($to, $subject, $msg, 'From:' . $myemail);
$output_form = false;

echo '<p>Thank you for contacting us!</p>';
echo 'Your Name: ' . $myname . '<br>';
echo 'Your E-Mail: ' . $myemail . '<br>';
echo 'Your Telephone: ' . $mytelephone . '<br>';
echo 'Your Service: ' . $what_service . '<br>';
echo 'Your Comments: ' . $mycomments;

if (!filter_var($myemail, FILTER_VALIDATE_EMAIL)) {
echo ' Invalid Email, please resubmit form.<br>';           
$output_form = true; } }
?>
  • 写回答

3条回答 默认 最新

  • dongsaohu6429 2017-04-27 03:04
    关注

    I just rearranged your code to validate email first and mail on valid email:

    <?php
    $myname = $_POST['name'];
    $myemail = $_POST['email'];
    $mytelephone = $_POST['telephone'];
    $what_service = $_POST['service'];
    $mycomments = $_POST['comments'];
    
    if (isset($POST['submit'])) {
        $to = 'example@aol.com';
        $subject = 'Contact Us - My Business';
        $msg = "Name: $myname
    " .
        "Service: $what_service
    " .
        "Telephone #: $mytelephone
    " .
        "Comments: $mycomments";
        if (!filter_var($myemail, FILTER_VALIDATE_EMAIL)) {
            echo ' Invalid Email, please resubmit form.<br>';           
            $output_form = true; 
        } else {
            if (mail ($to, $subject, $msg, 'From:' . $myemail)) {
                echo '<p>Thank you for contacting us!</p>';
                echo 'Your Name: ' . $myname . '<br>';
                echo 'Your E-Mail: ' . $myemail . '<br>';
                echo 'Your Telephone: ' . $mytelephone . '<br>';
                echo 'Your Service: ' . $what_service . '<br>';
                echo 'Your Comments: ' . $mycomments;
            } else {
                eccho 'Failed';
            }           
        }
    }
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大