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

电子邮件PHP联系人表单错误作为随机输出

广楚
2023-03-14

HTML

<div id="formwrap">
    <form method="post" id="submitform" action="submitemail.php" >
        <input type="text" class="formstyle" title="Name" name="name" />
        <input type="text" class="formstyle" title="Email" name="email" />
        <textarea name="message" title="Message"></textarea>
        <input class="formstyletwo" type="submit" value="Send">  
    </form>

PHP

<?php
    $mailto = "abcd@gmail.com"; /*PUT YOUR EMAIL IN HERE*/
    $cc = "";
    $bcc = "";
    $subject = "enquiry";
    $vname = "Website Contact Form";
    $email = $_POST['email'];
    function validateEmail($email){
        if(eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,3})?(\.[a-zA-Z]{2,3})?$', $email)) return true;
        else return false;
    }
    if(strlen($_POST['name']) < 1  || strlen($_POST['message']) < 1 || validateEmail($email) == FALSE){
        if(empty($_POST['name'])){
            $emailerror .= '<li>Enter name</li>';
        }
        if(validateEmail($email) == FALSE){
            $emailerror .= '<li>Enter valid email</li>';
        }
        if(empty($_POST['message'])){
            $emailerror .= '<li>Enter message</li>';
        }
    }
    else{
        $emailerror .= "Your email has been sent successfully";
        // NOW SEND THE ENQUIRY
        $timestamp = date("F j, Y, g:ia");
        $messageproper ="\n\n" .
            "Name: " .ucwords($_POST['name']) ."\n" .
            "Email: " .ucwords($email) ."\n" .
            "Comments: " .$_POST['message'] ."\n" .
            "\n\n" ;
            $messageproper = trim(stripslashes($messageproper));
            mail($mailto, $subject, $messageproper, "From: \"$vname\" <".$_POST['e_mail'].">\nReply-To: \"".ucwords($_POST['first_name'])."\" <".$_POST['e_mail'].">\nX-Mailer: PHP/" . phpversion() );
    }
?>

<div id='emailerror'>
    <ul>
        <? echo $emailerror; ?>
    </ul>
</div>

在XAMPP服务器上运行时,我得到错误的输出,其形式为发送按钮下方的文本

显示错误输出

输入名称‘;}if(validateEmail($email)==FALSE){$EmailError.='输入有效电子邮件‘;}if(空($_POST['message'])){$EmailError.='Enter message';}}其他{$EmailError.=“您的电子邮件已成功发送”;//现在发送查询$Timestamp=日期(“f j,Y,g:ia”);$MessageProper=“\n\n”.“名称:”.ucwords($_post['name']).“\n”.“电子邮件:”.ucwords($email).“\n”.“注释:”.$_post['message'].“\n”.“\n\n”;$MessageProper=修剪(Stripslashs($MessagePrope));邮件($Mailto,$Subject,$MessagePropeer,“

共有1个答案

应安国
2023-03-14

好的,这应该可以

<?php
$mailto = "abcd@gmail.com"; /*PUT YOUR EMAIL IN HERE*/
$cc = "";
$bcc = "";
$subject = "enquiry";
$vname = "Website Contact Form";


$errors = array();
if($_POST){

    if(!isset($_POST['name']) || $_POST['name'] == "")
        $errors[] = "Please enter your name.";

    if(isset($_POST['email']) && $_POST['email'] != ""){
        if(!preg_match('%^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,3})?(\.[a-zA-Z]{2,3})?$%', $_POST['email']))
            $errors[] = "Not valid email";
    }else
        $errors[] = "Please enter your email";

    if(!isset($_POST['message']) || $_POST['message'] =="" ){
        $errors[] = "Please enter the message.";
    }

    if(!$errors){
        //send here your email...
        echo "email sended";
    }
}



?>
 <div id='emailerror'>
    <ul>
        <?php 
            foreach($errors as $err){
                echo "<li>$err</li>";
            }
        ?>
    </ul>
</div>
 类似资料:
  • 每次尝试提交此联系人表单时,都会收到以下错误消息: “请输入您的消息。” 名称错误消息和电子邮件错误消息不会出现,除非我将它们留空。我尝试在HTML中指定post。 以下是HTML: 下面是PHP:

  • 单击联系人表单中的“发送”按钮时出错。我使用的是Laravel 5.4。请帮我解决这个错误。 我已经清除了缓存,但仍然得到这个错误 预期响应代码250,但得到代码“530”,消息“530-5.5.1需要身份验证 这是我的邮件功能... 这是我的邮件。php文件

  • 我的网站上的联系表格有问题!我试着在网上搜索答案,但我是这个网站建设的新手,如果可能的话,我希望得到一个简单的答案。我想编码是错误的地方,但我真的不知道在哪里! 问题-我在按submit后收到电子邮件,但在我的收件箱中,它只显示主题行,不显示邮件、电子邮件或发件人的姓名。 请帮忙! 以下是HTML代码: 以及PHP代码:

  • 问题内容: 我想在我正在创建的网站上使用联系表格,但是PHP不是一个选择,因为客户端不希望使用它。是否有一种聪明的方法可以解决此问题,例如发送电子邮件参数(非标准参数)或使用外部联系表?是否有一些不使用广告且可以轻松修改为其他语言的好产品? 谢谢。 问题答案: 联系人表单有数百种可嵌入(最可能基于)的解决方案,使您能够使用PHP等服务器端语言来解决问题。只是一个快速的谷歌搜索会给你一些。 或者,您

  • 我最近开始为一家新公司工作,这家公司有一个Wordpress网站,使用Contact Form 7插件。当我们从联系人表单收到电子邮件并在Outlook中回复时,它会自动将我们自己的电子邮件地址放在回复框中(可能是从表单的“收件人”部分),而不是在表单的“发件人”部分键入问题者的电子邮件。 我想发生的是,当我回复电子邮件时,Outlook会自动将联系人7表单的“您的电子邮件”部分的电子邮件插入Ou

  • 问题内容: 我有一些PHP代码,用于将表单发送到特定的电子邮件地址。但是,我想在PHP发送时再添加几个电子邮件地址。我怎样才能做到这一点? 谢谢。 问题答案: 这将起作用: