Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码邮件字段发送空字段_Php_Email - Fatal编程技术网

php代码邮件字段发送空字段

php代码邮件字段发送空字段,php,email,Php,Email,我正在尝试创建一个PHP邮件 它完美地将邮件发送到收件箱,但我不知道如何在收件箱中发送我的表单字段值。我已经试过了,但它正在发送空字段 因为我是PHP新手,请检查 <?php get_footer(); ?> <?php $msg = "mail from" .$name; // use wordwrap() if lines are longer than 70 characters $msg = wordwrap($msg,70); // send email m

我正在尝试创建一个
PHP邮件

它完美地将邮件发送到收件箱,但我不知道如何在
收件箱中发送我的表单字段值。我已经试过了,但它正在发送空字段

因为我是PHP新手,请检查

<?php
get_footer();
?>
<?php 

 $msg = "mail from" .$name;

// use wordwrap() if lines are longer than 70 characters
$msg = wordwrap($msg,70);

// send email
mail("email@example.com","My subject",$msg);


if(isset($_POST['submit']))
{

    $name = $_POST['name'];

    $to = "email@example.com";
    $subject = $_POST['phone'];
    $body = $_POST['body'];
}
?>

<form action="" id="reservationform" method="POST">
                <div class="row">
                    <div class="col-md-4 col-sm-6">
                        <div class="form-group">
                        <label for="name">Name</label>
                        <input type="text" class="form-control" id="name" name="name" placeholder="Full Name" title="Your Full Name please" required>
                        <i class="fa fa-pencil-square-o"></i>
                        </div>
                    </div>
                    <div class="col-md-4 col-sm-6">
                        <div class="form-group">
                        <label for="phone">Phone</label>
                        <input type="text" class="form-control" id="phone" name="phone" placeholder="Enter your Phone Number" title="Please enter your phone number" required>
                        <i class="fa fa-phone"></i>
                        </div>
                    </div>
          </form>

名称
电话

它发送空字段,因为您没有在消息(正文)中传递任何POST数组的输入,并且在加载页面后立即执行
mail()
函数

以下是检查任何字段时的操作方式:

请注意,我已经更改了
mail()
的参数,并添加了一些条件语句

旁注:似乎缺少输入,因此您需要自己添加这些输入

有关更多信息,请参阅
mail()
上的手册,并添加标题,因为它可能被拒绝或视为垃圾邮件:

if(isset($_POST['submit'])) {

    if(!empty($_POST['name']) 
    && !empty($_POST['phone']) 
    && !empty($_POST['body'])) {

    $to =    "email@example.com";
    $name =  $_POST['name'];
    $phone = $_POST['phone'];
    $body =  $_POST['body'];

    $msg = "Mail from: $name\n" . "Message: $body\n" . "Phone: $phone \n";

    // use wordwrap() if lines are longer than 70 characters
    $msg = wordwrap($msg,70);

    // send email
    if(mail($to, $subject, $msg)){
        echo "Mail sent.";
    }else{ echo "There was an error."; }

    }else{ 
        echo "Some fields were left empty."; 
        }
}