需要一个PHP电子邮件发送脚本的HTML表单

时间:2012-03-15 19:26:26

标签: php html forms email

我正在构建一个单页组合网站,我有一个联系表单,我需要使用php发送脚本进行处理。对于PHP来说,我是一个新手,所以我无法让它工作。我做了一些搜索,但找不到我要找的东西。

这就是我所做的,我从我构建的PHP联系页面复制了这个,但PHP和表单在同一页面上,我需要一个外部send.php来处理我的表单。

<?php
             $error    = ''; // error message
             $name     = ''; // sender's name
             $email    = ''; // sender's email address
             $company  = ''; // company name
             $subject  = ''; // subject
             $comment  = ''; // the message itself

        if(isset($_POST['send']))
        {
             $name     = $_POST['name'];
             $email    = $_POST['email'];
             $company  = $_POST['company'];
             $subject  = $_POST['subject'];
             $comment  = $_POST['comment'];

            if($error == '')
            {
                if(get_magic_quotes_gpc())
                {
                    $message = stripslashes($message);
                }

                // the email will be sent here
                // make sure to change this to be your e-mail
                $to      = "example@email.com";

                // the email subject
                // '[Contact Form] :' will appear automatically in the subject.
                // You can change it as you want

                $subject = '[Contact Form] : ' . $subject;

                // the mail message ( add any additional information if you want )
                $msg     = "From : $name \r\ne-Mail : $email \r\nCompany : $company \r\nSubject : $subject \r\n\n" . "Message : \r\n$message";

                mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
            }
        }
        if(!isset($_POST['send']) || $error != '')
        {

              header("location: http://www.#.com/#contact");

        }
        ?>

所以对于我想要的表格:

<form method="post" action="send.php" class="form">

我计划使用HTML5和jQuery来验证表单,所以我真的只需要脚本来捕获信息并将电子邮件发送到单个地址。发送后我希望脚本重定向回联系页面。

编辑:

我在google上花了一段时间后找到了解决方案。     http://www.website.com/#contact“);     ?&GT;

2 个答案:

答案 0 :(得分:1)

首先,您尚未初始化$message

的值
$message = stripslashes($message);

您可能打算使用$comment代替$message

答案 1 :(得分:1)

不确定您面临的问题。只需将您拥有的PHP复制到名为send.php的文件中,我的第一眼就会说如果您将$ message更改回$ comment并添加错误检查,它将会起作用。如果您仍有问题,请回复更多详细信息。