[英]PHP mail not sending form data with ajax. Data is blank in email
我正在使用Codeignitor安装中的简单注册表单。
电子邮件已发送,但是表单数据未显示在电子邮件中。 数据通过AJAX发送到欢迎文件,并命中公共函数signup()。
由于电子邮件已送达,因此没有文件数据,这很重要。
形成:
<div class="form">
<form ONSUBMIT="return checkRequired(this)" method="post" id="subForm">
<div class="signupbox">
<span class="label"><label for="FirstName">First Name:</label></span>
<span><input type="text" name="firstname" id="firstName" size="25" class="required" /></span>
</div>
<div class="signupbox">
<span class="label"><label for="LastName">Last Name:</label></span>
<span><input type="text" name="lastname" id="lastName" size="25" class="required" /></span>
</div>
<div class="signupbox">
<span class="label"><label for="email">Email:</label></span>
<span><input type="text" name="email" id="email" size="25" class="required" /></span>
</div>
<div class="signupbox">
<span class="label"><label for="Company">Company:</label></span>
<span><input type="text" name="company" id="company" size="25" /></span>
</div>
<div class="signupbox">
<span class="label"><label for="Comments">Tell us about yourself:</label></span>
<span><textarea name="comments" id="comments" cols="45" rows="5" ></textarea></span>
</div>
<div>
<span class="button"><input type="submit" value="Sign Up" id="ajaxsubmit" /></span>
</div>
</form>
</div>
signup.js:
$(document).ready(function(){
$('#ajaxsubmit').click(function(){
var formobj = new Object();
formobj.firstName = $('#firstName').val();
formobj.lastName = $('#lastName').val();
formobj.email = $('#email').val();
formobj.company = $('#company').val();
formobj.comments = $('#comments').val();
//alert(JSON.stringify(formobj));
$.ajax({
type: 'post',
url: 'http://www.alloi.co/signup',
dataType: 'json',
data: JSON.stringify(formobj)
});
})
});
的welcome.php:
public function signup()
{
$fname = $this->input->post('firstname', TRUE);
$lname = $this->input->post('lastname', TRUE);
$email = $this->input->post('email', TRUE);
$company = $this->input->post('company', TRUE);
$comments = $this->input->post('comments', TRUE);
$headers = "MIME-Version: 1.0";
$headers = "Content-type: text/plain; charset=iso-8859-1";
$headers = "X-Mailer: PHP/".phpversion();
$message = $fname." ".$lname. " has signed up for COMPANY.\n\nYou can reach ".$fname." at ".$email."\n\n".$fname." works for ".$company. "\n\n \n\n" .$comments;
mail("someone@email.com", 'Alloi Account Sign-up', $message, $headers);
}
电子邮件:
已注册ALLOI。
您可以到达
效劳于
我敢肯定这很简单,但我仍在学习。 我不发送表单数据在做什么呢?
预先非常感谢您,
史蒂芬
您在帖子中发送json,但尝试在服务器端以application / x-www-form-urlencoded的形式读取数据,如果要在服务器端按formobj
读取数据, formobj
原样传递formobj
$.ajax({
type: 'post',
url: 'http://www.alloi.co/signup',
data: formobj
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.