【问题标题】:Sending e-mail with php confusion用php混淆发送电子邮件
【发布时间】:2013-05-25 19:24:22
【问题描述】:

希望只是一个简单的问题,我有一个这样设置的表单 - 电子邮件、姓名和消息。如何在发送时检查它是否有这三样东西,如果有,然后发送到所需的电子邮件?

我已经尝试查看 php 文档,但我并没有多大意义。我今天有点厚。 谢谢你:)

    <form action="" method="post">
        <!--[if IE]> <br> <label for="email">Email</label> <br> <end if -->
        <input type="email" name="email" id="email" placeholder="Email*" required>
            <br>
        <!--[if IE]> <br> <label for="name">Name</label> <br> <end if -->
        <input type="text" name="name" id="name" placeholder="Name*" required>
            <br>
        <!--[if IE]> <br> <label for="message">Message</label> <br> <end if -->
        <textarea name="message" id="message" placeholder="Description*" required></textarea>

        <input type="submit" value="Send">
    </form>

我这里有电子邮件 php 代码 - 这里出了什么问题? (也许我可以编辑它来工作?)抱怨 2 个参数,而不是 3 个。

<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST') {
    if (mail('Someemail@tnelectricalsussex.co.uk',  
        "Name: " . $_POST['name'] . PHP_EOL . 
        "Email: " . $_POST['email'] . PHP_EOL . 
        "Message: " . $_POST['message']) ) {
        $status = "Sent"; } } 
?>

【问题讨论】:

  • 您需要先捕获您的提交操作,然后检查字段的值,然后发送电子邮件
  • bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )你错过了主题

标签: php forms email post send


【解决方案1】:

我完全忘了添加主题行(感谢@Dagon)-这是正确运行的代码

php

<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST') {
    if (mail('someone@somewhere.co.uk',
        'Enquiries',
        "Name: " . $_POST['name'] . PHP_EOL .
        "Email: " . $_POST['email'] . PHP_EOL .
        "Message: " . $_POST['message']) ) {
        $status = "Sent"; } }
?>

html

    <form action="" method="post">
        <!--[if IE]> <br> <label for="email">Email</label> <br> <end if -->
        <input type="email" name="email" id="email" placeholder="Email*" required>
            <br />
        <!--[if IE]> <br> <label for="name">Name</label> <br> <end if -->
        <input type="text" name="name" id="name" placeholder="Name*" required>
            <br />
        <!--[if IE]> <br> <label for="message">Message</label> <br> <end if -->
        <textarea name="message" id="message" placeholder="Description*" required></textarea>

        <input type="submit" value="Send">
    </form>

【讨论】:

  • 似乎缺少检查变量是否已填充的代码,这就是我的回答。
【解决方案2】:
if(!empty($_POST['email']) && !empty($_POST['name']) && !empty($_POST['message'])){
//send email code
}else{
//dont
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2016-04-13
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    相关资源
    最近更新 更多