2012-09-08 2 views
0

텍스트 상자에 텍스트를 입력 할 때마다 PHP로 제대로 전송되지 않습니다. PHP는 입력을 null로 읽습니다. 실제로는 거기에 텍스트가 있습니다.PHP 텍스트가 텍스트 상자에 들어오지 않음

PHP 코드. 형태

<div id="form"> 

<form method="post" action="Email_Form_Script.php" enctype="text/plain" onsubmit="window.open('FormPopUp.html','popup','width=500,height=500,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0');" > 
    <div> 
     <input type="text" class="text" name="e3text" id="emailForm" value="Enter your e-mail address" onfocus="if(this.value=='Enter your e-mail address') { this.value = '' }" onblur="if(this.value=='') { this.value = 'Enter your e-mail address' }" /> 
     <input type="hidden" value="" name="email2"/> 
     <input type="hidden" name="loc" value="en_US"/> 
     <input type="submit" class="submit" value=""/></div> 
</form> 
</div> 

에 대한

//Two Email Lines 
$email_to = "[email protected]"; 
$email_subject = "AUTO: REQUEST"; 

//Set equal to email form textbox 
$email_form = $_POST['email_text']; 


$email_message = "Email: " . $email_form . ""; 

//Create email headers 
@mail($email_to, $email_subject,$email_message,$headers); 

HTML 코드는 정말 왜 작동하지 않는 경우에 혼동. 나는 계속해서 "이메일 :"(이메일 이후에 텍스트 없음)이라고 말하는 빈 이메일을 계속받습니다.

+0

당신은 이름이'email_text' 인 html 코드를 입력하지 않았습니다. 나는 이것이 첫 번째 문제라고 말하고 싶습니다. – Kuro

+0

질문 정보 (또는 코드)를 크게 변경하지 마십시오. 질문을 보는 다른 사람들은 원래 문제가 무엇인지 파악할 수 없으며 질문이 이해가되지 않습니다. ** 원래의 질문에 ** 내용을 추가 할 수 있습니다. ("편집 : 필드를 'e3text'로 설정하려고했으나 여전히 실패합니다.") –

+0

글쎄, 실제로 나는 친구가 대답을하고, 질문을 변경했다고 생각합니다. 정확하고 그가 얻은 대답을 받아들이는 데 신경 쓰지 않았습니다. – Kuro

답변

0

귀하의 양식에 PHP 코드에서 참조되는 email_text이라는 입력 요소가 실제로 포함되어 있지 않기 때문입니다. 적어도 이와 같이 보이도록 HTML 폼 코드를 구조화하거나 $_POST['e3text']이 필요하도록 PHP 코드를 변경해야합니다.

<div id="form"> 
    <form method="post" action="Email_Form_Script.php" enctype="text/plain" onsubmit="window.open('FormPopUp.html','popup','width=500,height=500,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0');" > 
     <div> 
      <input type="text" class="text" name="email_text" id="emailForm" value="Enter your e-mail address" onfocus="if(this.value=='Enter your e-mail address') { this.value = '' }" onblur="if(this.value=='') { this.value = 'Enter your e-mail address' }" /> 
      <input type="hidden" value="" name="email2"/> 
      <input type="hidden" name="loc" value="en_US"/><input type="submit" class="submit" value="" /> 
     </div> 
    </form> 
</div> 
+0

$ _POST [ 'e3text']에 내가 그것을 cahnge하더라도 나는 아직 빈 이메일을 받고있다. – Springerdude11

2

라인 :

$email_form = $_POST['email_text']; 

필요가 귀하의 경우 name="e3text" 인 형태로 텍스트의 name에 맞게 그래서 당신은 사용해야

$email_form = $_POST['e3text']; 
+0

@ Springerdude11 당신의 코드를 다시보고 있는데 e3text가 이메일 주소라면 (자바 스크립트 함수가 암시하는 것 같다) 메시지 본문의 실제 텍스트는 어디에 있습니까? 질문에서 텍스트 영역이 누락 되었습니까? – Fluffeh

+0

e3text는 메시지 본문의 일부입니다. 텍스트 상자는 사용자가 뉴스 레터 신청을 위해 전자 메일 주소를 입력 한 다음 전자 메일을 개인 전자 메일로 보내어 목록에 추가 할 수 있도록합니다. – Springerdude11

0

는 PHP 코드

이 시도
$email_form = $_POST['e3text']; 

"e3text"는 텍스트 상자의 이름이므로 PHP에서는 사용합니다.

name of the input field = value of the input field 

귀하의 필드 이름 e3text입니다 - 스크립트에서 같은 필드를 참조하십시오, 즉 $_POST['e3text'] :로의 이름

+0

잘못되었습니다. 이드가 아닌 이름으로 간다. – Kris

+0

PHP는 ID가 아닌 이름 속성을 사용합니다. – brezanac

+0

죄송합니다. 내 코드를 고정 –

0

당신이 양식의 제출 버튼을 누르면, 값이 전달됩니다.

관련 문제