2013-04-18 4 views
1

저는 codeignitor 설치시 간단한 가입 양식을 작성하고 있습니다.PHP 메일이 아약스로 양식 데이터를 보내지 않습니다. 이메일에 데이터가 없습니다.

이메일을 보내고 있지만 양식 데이터가 이메일 메시지에 표시되지 않습니다. 데이터는 AJAX를 통해 환영 파일로 전송되고 public function signup()을 히트합니다.

전자 메일이 배달되기 때문에 파일을 친하지만 양식 데이터가 없습니다.

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("[email protected]", 'Alloi Account Sign-up', $message, $headers); 
} 

전자 메일 메시지 :

은 ALLOI에 가입했다.

당신은 내가 간단 뭔가 확신 해요,하지만 난 아직 배우는 중이에요

에 대한

작품에 도달 할 수 있습니다. 양식 데이터를 보내지 않으면 어떻게됩니까?

사전에 당신에게

스티븐

답변

1

당신은 당신의 게시물에 JSON을 보내는을 주셔서 감사하지만 당신은 응용 프로그램/경우 서버 측에서 x-www-form-urlencoded로 데이터를 읽으려고 당신은 서버 측에있는 그대로 데이터를 읽고 싶습니다. 을 그대로 사용하십시오.

$.ajax({ 
    type: 'post', 
    url: 'http://www.alloi.co/signup', 
    data: formobj 
}); 
+0

매우 고맙습니다. 그거였다. 오늘 밤에 나는 진짜 잠을 좀 취할 수있어! –

관련 문제