PHP邮件不使用ajax发送表单数据。电子邮件中的数据为空白

时间:2013-04-18 02:04:39

标签: php ajax codeigniter email

我正在使用codeignitor安装中的简单注册表单。

电子邮件已发送,但表单数据未显示在电子邮件中。 数据通过AJAX发送到欢迎文件并点击公共函数注册()。

它正在点击该文件,因为电子邮件已经发送,但没有表单数据。

FORM:

<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。

你可以到达

适用于

我确信这很简单,但我还在学习。 不发送表单数据我做错了什么?

非常感谢您提前,

史蒂芬

1 个答案:

答案 0 :(得分:1)

您正在发帖中发送json,但是您尝试在服务器端将数据读取为application / x-www-form-urlencoded,如果您想在服务器端读取数据,只需传递{{ 1}}按原样

formobj