【问题标题】:contact form php help联系表格 php 帮助
【发布时间】:2012-01-13 04:53:57
【问题描述】:

好的,我的联系表格可以正常工作,并且处理正确。我有两个问题...

  1. 在联系表单页面上,我希望添加一个复选框供用户勾选以将电子邮件副本发送给他们。

  2. 在流程表单部分,如果出现严重错误,我想重定向到错误页面。

目前在我的表单提交中,我对thankyou.php采取了行动

我已在thankyou.php 页面中添加了我的表单流程,但如果需要,可以单独将其拉出。

.......................................

我的表单流程如下(非常非常简单)

<?php

$youremail = "someonesemail@email.com";

$yourname    = $_POST['yourname'];
$email   = $_POST['email'];
$location = $_POST['location'];
$textarea = $_POST['textarea'];

 $headers = "From: $email";

$content = "Hello there! This is a message from your contact form.\r\n
\r\n
\r\n
Name: $yourname\r\n
\r\n
E-mail: $email\r\n
\r\n
Location: $location\r\n
\r\n
Message: $textarea\r\n\r\n";

$send = mail($youremail, 'Message from your conatct form', $content, $headers);

 if($send)
 {
echo "ok";
 }

我不熟悉 php,所以任何帮助表示赞赏

【问题讨论】:

    标签: php contact


    【解决方案1】:
    <?php
    $youremail  = "someonesemail@email.com";
    $yourname   = $_POST['yourname'];
    $email      = $_POST['email'];
    $location   = $_POST['location'];
    $textarea   = $_POST['textarea'];
    $ReceiveMail= $_POST['txtReceive'];
    
    if($ReceiveMail == "yes") {
        $content    = "";
        $headers    = "From: $email";
        @mail($email, 'Mail Notification', $content, $headers);
    }
        $headers    = "From: $email";
        $content = "Hello there! This is a message from your contact form.\r\n
        \r\n
        \r\n
        Name: $yourname\r\n
        \r\n
        E-mail: $email\r\n
        \r\n
        Location: $location\r\n
        \r\n
        Message: $textarea\r\n\r\n";
        $send = mail($youremail, 'Message from your conatct form', $content, $headers);
        if($send)    {
            header("location:thankyou.php");
            exit;
        }
        else {
            header("location:error.php");
            exit;
        }
    ?>
    

    我在表单中添加了一个复选框并检查服务器端的值。 试试这个。希望对你有帮助

    【讨论】:

      【解决方案2】:

      如果要发送邮件副本,则需要为邮件添加适当的标头,例如:

      $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'To: Somename <some_email@example.com>' . "\r\n"; $headers .= 'Cc: '.$yourCopyMail . "\r\n"; // this is for copy //then if(mail(....)) { echo "sent"; } else { header("Location: url_to_your_error_page"); exit; }

      【讨论】:

      • 谢谢 Sudhir,我在看 else goto,... 想不通。会试一试谢谢你
      【解决方案3】:

      关于你的第一个问题:

      This page 提供了有关如何在表单中添加复选框并在下一页上接收值的快速教程。当您处理表单提交时,只需查看变量$_POST["checkboxname"] 并查看它是否设置为您为复选框提供的值(或者是否设置了,真的)。如果是,则只需重复发送电子邮件的命令,并将用户的电子邮件作为收件人。

      在您的情况下,它看起来应该是 $send = mail($email, 'Message from your conatct form', $content, $headers);

      我不知道如何回答您的第二个问题,因为“如果一切都变得非常糟糕”并不是一个特别有意义的条件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-19
        • 2021-06-12
        • 1970-01-01
        • 1970-01-01
        • 2015-01-28
        • 2015-09-24
        • 2011-02-27
        • 2020-04-05
        相关资源
        最近更新 更多