【问题标题】:PHP power form not sending all fields to emailPHP 电源表单未将所有字段发送到电子邮件
【发布时间】:2014-01-31 07:17:18
【问题描述】:

当用户提交表单时,我使用这个 php 脚本将表单的内容发送到我的电子邮件,但目前我只能将表单的最后两个字段发送到电子邮件中。(消息和公司名称只有两个工作)我怎样才能让整个表格在电子邮件中发送?

<form role="form" method='post' action='backend/php_mailer.php'>
<input type="text" name='name' class="form-control" id="yourname" placeholder="Name">
<input type="email" name='email' class="form-control" id="email" placeholder="Email">
<input type="text" name='phone' class="form-control" id="phone" placeholder="Phone">
<input type="text" name='company' class="form-control" id="company" placeholder="Company Name">
<textarea name='message' class="form-control" id="message" rows="6" placeholder="Message"></textarea>
<button type="submit" class="btn btn-primary btn-lg ">SUBMIT</button>
</form>




<?php
if (isset($_POST['email']))

  {

   $userName = $_REQUEST['name'] ; 
   $email = $_REQUEST['email'] ; 
   $phone = $_REQUEST['phone'] ;
   $company = $_REQUEST['company'] ;
   $message = $_REQUEST['message'] ;
   mail("peaceuponelove@gmail.com", $subject,
   $message,$company,$userName );
   echo "Thank you";
   }

  ?>

【问题讨论】:

  • 您将 $company 和 $username 作为附加参数传递,而不是将它们连接到 $message。
  • 也使用 $_POST 而不是 $_REQUEST

标签: php forms email


【解决方案1】:

mail() 的每个参数都有特定的用途。您不能只是不断地传递参数并期望它们被附加到电子邮件中。您必须使用字符串连接。

$message = $_REQUEST['message'] . '</br>' . $email . '<br/>' . $phone . '<br/> ' . $userName . '<br/> . ' $company;
mail("peaceuponelove@gmail.com", $subject,$message);

旁注您从未在显示的代码中声明$subject。所以这里有一个主题:

$subject = 'Message from '. $userName .' < ' . $email . ' > ';

【讨论】:

  • 我很困惑,$message 是像 $subject 一样的电子邮件正文,还是该人在我的表单的消息部分留下的消息?
【解决方案2】:

这是我最终在电子邮件中获取所有字段的方法

<?php


?>
<form  action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
<input name="name" type="text" value="" size="30"/><br>
<input name="email" type="text" value="" size="30"/><br>
<input name="phone" type="text" value="" size="30"/><br>
<textarea name="message" rows="7" cols="30"></textarea><br>
<input type="submit" value="Send email"/>
</form>
<?php

$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$phone=$_REQUEST['phone'];
$message=$_REQUEST['message'].$email.$phone;



    $subject="$name";
    mail("peaceuponelove@gmail.com", $subject, $message);
    echo "Email sent!";

?> 

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2014-05-22
    • 2014-05-25
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多