【问题标题】:Contact Form fields not being passed联系表格字段未通过
【发布时间】:2014-07-08 10:33:04
【问题描述】:

我正在处理一个简单的联系表格,但是当电子邮件通过这些字段时是空的。表单发送良好,但没有获得任何值。我的表单 HTML 如下所示。

<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
  <input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">
  <input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">
  <input type="text" name="email" id="email" class="input-block-level" required="required" placeholder="Your email address">
  <textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
<button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>

PHP 方面如下

header('Content-type: application/json');
   $status = array(
    'type'=>'success',
    'message'=>'Email sent!'
);

$nameFirst = $_POST['namefirst'];
$nameLast = $_POST['namelast']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$subject = $message;

$email_from = $email;
$email_to = 'jdwman14@gmail.com';

$body = 'Name: ' . $nameFirst .' '. $nameLast. "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');

echo json_encode($status);

die;

当电子邮件通过时,它具有这种格式,但没有任何变量。

姓名:

电子邮件:

主题:

消息:

【问题讨论】:

  • 输入print_r($_POST) 看看你在数组中得到了什么。
  • 除此之外:您有两次相同的名称 (namefirst) - 请务必检查 count($_POST) &gt; 0 和值是否已设置(提示:isset())。

标签: php forms twitter-bootstrap post


【解决方案1】:

表格有问题, 您的表单中有两次 namefirst 输入字段

  <input type="text" name="namefirst" id="namefirst" class="input-block-level" required="required" placeholder="Your First Name">

在第二个输入中将 namefirst 替换为 name 和 id 属性值,如下所示,

<input type="text" name="namelast" id="namelast" class="input-block-level" required="required" placeholder="Your Last Name">

希望这能解决您的问题...

【讨论】:

  • 我猜:它不会:-)。其他表单值也没有设置。
  • @thedom,作为表单html,你可以在字段中看到required="required"属性,@j0siah已经使用jquery设置了验证,所以我认为所有表单字段在提交时都不会空白。跨度>
  • 这在 php 的情况下完全无关紧要。除了现代浏览器会在提交表单之前通知您输入值之外,是否设置了这些属性不会改变任何事情。较旧的浏览器不关心这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
相关资源
最近更新 更多