【问题标题】:Send button website发送按钮网站
【发布时间】:2015-09-21 01:04:29
【问题描述】:

我在我的网站上用 PHP 和 HTML 制作了一个联系表格。但它不起作用。如果我按下send 按钮,我应该发送一封包含姓名、电子邮件、标题、消息、日期和时间的电子邮件。但它没有给我发电子邮件。请帮帮我...

HTML:

<form method="post" action="">
<ul>
    <li>
        <label>name*</label>
        <input type="text" class="wmfg_text" name="name" id="text_id" value="" />
    </li>
    <li>
        <label>email*</label>
        <input type="text" class="wmfg_text" name="eamil" id="text_id" value="" />
    </li>
    <li>
        <label>title*</label>
        <input type="text" class="wmfg_text" name="title" id="text_id" value="" />
    </li>
    <li>
        <label>message*</label>
        <textarea class="wmfg_textarea" name="message" id="textarea_id"></textarea>
    </li>
    <li>
        <input type="submit" class="wmfg_btn" name="submit" id="submit_id" value="send" />
    </li>
</ul>
</form>

PHP:

$name = $_POST['name']; 
$email = $_POST['email']; 
$title= $_POST['title']; 
$message= $_POST['message']; 
$date= date("d.m.Y"); 
$time= date("H:i:s"); 
$email_to = "myname@gmail.com"; 
$mailtext = " 
-- New message -- 
Name: $name 
Email: $email 
title: $title
date: $date
time: $time
message: $message"; 

if(isset($_POST['send']))
{
    mail($mailtext);
}

【问题讨论】:

  • 你看过mail()函数吗?
  • 我建议你看看:github.com/PHPMailer/PHPMailer 而不是尝试phps自带的邮件功能。
  • 遇到问题总是时要做的第一件事就是查看文档。这意味着:php.net/manual/en/function.mail.php
  • 您需要将 `if(isset($_POST['send']))` 更改为 `if(isset($_POST['submit']))` 因为send 是您的价值提交按钮。
  • 现在,我将邮件($mailtext) 更改为邮件($email_to,"My subject",$mailtext)。但它不起作用。 if(isset($_POST['send'])) 我改成 if($_POST['submit']))

标签: php html forms sendmail send


【解决方案1】:

您的mail() 语法不正确。

使用这个mail($email_to,"My subject",$mailtext);

语法mail(to,subject,message,headers,parameters);阅读更多here

您还可以使用功能丰富的电子邮件类,例如PHPMailerSwiftMailer

【讨论】:

    【解决方案2】:

    如果您不需要任何花哨的东西,只需使用 mail() 函数即可。

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $title= $_POST['title']; 
    $message= $_POST['message']; 
    $date= date("d.m.Y"); 
    $time= date("H:i:s"); 
    $email_to = "myname@gmail.com"; 
    $mailtext = " 
    -- New message -- \r\n
    Name: {$name}\r\n 
    Email: {$email}\r\n 
    title: {$title}\r\n
    date: {$date}\r\n
    time: {$time}\r\n
    message: {$message}\r\n"; 
    
    if($_POST['submit']))
    {
        mail($to,$subject,$mailtext)
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-26
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2021-07-25
      • 2015-03-16
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多