电子邮件不';t从我的PHP/html联系人表单发送

电子邮件不';t从我的PHP/html联系人表单发送,php,html,contact-form,Php,Html,Contact Form,我对PHP非常陌生,我需要一个联系表单,所以我从互联网上取下了一个,并编辑了我需要/想要的所有内容。邮件不会发送,所以如果有人能帮我解决这个问题,我将非常高兴 HTML: Om duär människa,fyll inte i denna ruta: PHP: 应该是 <input type="text" name="first_name" id="name" placeholder="Fullständigt namn" /> 我不得不修改

我对PHP非常陌生,我需要一个联系表单,所以我从互联网上取下了一个,并编辑了我需要/想要的所有内容。邮件不会发送,所以如果有人能帮我解决这个问题,我将非常高兴

HTML:


Om duär människa,fyll inte i denna ruta:

PHP:



应该是

<input type="text" name="first_name" id="name" placeholder="Fullständigt namn" />

我不得不修改表单和PHP处理程序中的一些内容,以使所有字段匹配并工作

注意:您需要用您自己的语言修改一些内容,但除此之外,这对我很有效,电子邮件实际上已经发送和接收

HTML表单

Om duär människa,完全集成denna ruta:

PHP处理程序(send_form_email.PHP)
您使用
@mail(…)
抑制错误,并希望知道出了什么问题?抱歉,我不太理解表达式前面的问题
@
抑制表达式将打印的错误和警告消息。从
@mail
中删除@,然后查看是否出现错误。还有,你的拼写很糟糕(瑞典式的拼写是……)的确:D你提醒我,我发现了一些;)奇怪的没用。你认为主持人可能是问题所在吗?@HermanLarsson肯定是的,因为我在发布答案之前已经对答案进行了充分的测试,否则我就不会这么做了。Alrigh,无论如何谢谢你。如果不是这里的每个人都修好了机器,它还是不会起作用的code@HermanLarsson不客气,赫尔曼。如果您在免费托管的网站上使用此功能,则有可能已禁用
mail()
功能。然而,我可以向你保证,我的固定代码实际上是有效的。@HermanLarsson代码开头或结尾的右括号不会产生任何区别,并且会产生完全相同的结果。
    <?php
    if(isset($_POST['email'])) {


        $email_to = "EMAIL HERE";
        $email_subject ="subject";


        function died($error) {
            // your error code can go here
            echo "Fel uppstog";
            echo "Error kod:.<br /><br />";
                 echo $error."<br /><br />";
            echo "Gå tillbaka och rätta till problemen innan du försöker igen.<br /><br />";
            die();
        }

        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['foretag']) ||
            !isset($_POST['email']) ||
            !isset($_POST['telephone']) ||
            !isset($_POST['text'])) {
            died('Det verkar vara ett problem med formuläret du angav');       
        }

        $first_name = $_POST['first_name'];
        $foretag = $_POST['foretag'];
        $email = $_POST['email'];
        $telephone = $_POST['telephone'];
        $text = $_POST['text'];

        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email)) {
        $error_message .= 'Emailadressen du angav verkar inte vara giltig.<br />';
      }
        $string_exp = "/^[A-Za-z .'-]+$/";
      if(!preg_match($string_exp,$first_name)) {
        $error_message .= 'Namnet du angav verkar inte vara giltig.<br />';
      }
      if(!preg_match($string_exp,$foretag)) {
        $error_message .= 'Företaget du angav är inte giltig..<br />';
      }
      if(strlen($text) < 2) {
        $error_message .= 'Meddelandet du angav är inte giltig..<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";

        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }

        $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Last Name: ".clean_string($last_name)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
        $email_message .= "Telephone: ".clean_string($telephone)."\n";
        $email_message .= "Comments: ".clean_string($comments)."\n";

if (preg_match("/http/i", "$first_name")) {echo "$spamErrorMessage"; exit();}
        if (preg_match("/http/i", "$email")) {echo "$spamErrorMessage"; exit();}
        if (preg_match("/http/i", "$telephone")) {echo "$spamErrorMessage";exit();}
        if (preg_match("/http/i", "$text")) {echo "$spamErrorMessage"; exit();}

         $SpamErrorMessage = "Ingen URL tillåten";

         $headers = 'From: '.$email_from."\r\n";
         'Reply-To: '.$email_from."\r\n" .
        'X-Mailer: PHP/' . phpversion();


        if($robotest)
            $error = "You are a gutless robot.";
        else {
    @mail($email_to, $email_subject, $email_message, $headers); 
    }
         }
    ?>
<input type="text" name="name" id="name" placeholder="Fullständigt namn" />
<input type="text" name="first_name" id="name" placeholder="Fullständigt namn" />
<form name="contactform" method="post" action="send_form_email.php">
    <p class="name">
    <input type="text" name="first_name" id="first_name" placeholder="Fullständigt namn" />
    </p>

    <p class="last_name">
    <input type="text" name="last_name" id="last_name" placeholder="Last name" />
    </p>

    <p class="foretag">
    <input type="text" name="foretag" id="foretag" placeholder="Företag" />
    </p>

    <p class="email">
    <input type="text" name="email_from" id="email" placeholder="Email" />
    </p>

    <p class="telefon">
    <input type="text" name="telephone" id="telephone" placeholder="Telefonnummer" />
    </p>        

    <p class="text">
    <textarea name="text" id="text" placeholder="Meddelande" /></textarea>
    </p>

    <p class="robotic" id="pot">
    <label>Om du är människa, full inte i denna ruta:</label>
    <input name="robotest" type="text" id="robotest" class="robotest" />
    </p>

    <p class="submit">
    <input type="submit" value="Skicka" />
    </p>
    </form>
</div>
<?php
    if(isset($_POST['email_from'])) {


        $email_to = "email@example.com";
        $email_subject = "bezod-design kontakta";

         // } this could be used, didn't make much of a difference.
         // closing brace for this is commented at the end of this code
         // but you will need to delete the closing brace at the end if using the closing brace here
        function died($error) {
            // your error code can go here
            echo "Erros uppstog";
            echo "Dem/det är listade nedan.<br /><br />";
                 echo $error."<br /><br />";
            echo "Gå tillbaks och fix dem innan du skickar.<br /><br />";
            die();
        }

        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['last_name']) ||
            !isset($_POST['foretag']) ||
            !isset($_POST['email_from']) ||
            !isset($_POST['telephone']) ||
            !isset($_POST['text'])) {
            died('Det värkar vara ett problem med formuläret du skrev');       
        }

        $first_name = $_POST['first_name'];
        $last_name = $_POST['last_name'];
        $foretag = $_POST['foretag'];
        $email_from = $_POST['email_from'];
        $telephone = $_POST['telephone'];
        $text = $_POST['text'];

        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email_from)) {
        $error_message .= 'Email adressen du skrev värkar inte vara giltig.<br />';
      }
        $string_exp = "/^[A-Za-z .'-]+$/";
      if(!preg_match($string_exp,$first_name)) {
        $error_message .= 'Namnet adressen du skrev värkar inte vara giltig.<br />';
      }
      if(!preg_match($string_exp,$foretag)) {
        $error_message .= 'Företaget du skrev värkar inte vara giltig..<br />';
      }
      if(strlen($text) < 2) {
        $error_message .= 'Meddelandet du skrev värkar inte vara giltig..<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";

        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }

        $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Last Name: ".clean_string($last_name)."\n";
        $email_message .= "Foretag: ".clean_string($foretag)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
        $email_message .= "Telephone: ".clean_string($telephone)."\n";
        $email_message .= "Comments: ".clean_string($text)."\n";

if (preg_match("/http/i", "$first_name")) {echo "$spamErrorMessage"; exit();}
        if (preg_match("/http/i", "$email_from")) {echo "$spamErrorMessage"; exit();}
        if (preg_match("/http/i", "$telephone")) {echo "$spamErrorMessage";exit();}
        if (preg_match("/http/i", "$text")) {echo "$spamErrorMessage"; exit();}

         $SpamErrorMessage = "Ingen URL tillåten";

         $headers = 'From: '.$email_from."\r\n";
         'Reply-To: '.$email_from."\r\n" .
        'X-Mailer: PHP/' . phpversion();


        if($robotest)
            $error = "You are a gutless robot.";
        else {
    mail($email_to, $email_subject, $email_message, $headers); 
    echo "Message sent.";
        }
    } // closing brace for if(isset at beginning of handler
     // delete this brace if you are to use the closing one at the beginning
?>