PHP无法从html文本框中获取文本

PHP无法从html文本框中获取文本,php,html,variables,textbox,Php,Html,Variables,Textbox,我正在尝试设置一个基本的文本框,当按下submit按钮时,它会通过电子邮件将框中的内容发送给我。问题是我一直收到空白电子邮件。由于某种原因,PHP代码没有访问文本框输入 //Two Email Lines $email_to = "contact@mywebsite.com"; $email_subject = "AUTO: REQUEST"; //Set equal to email form textbox $email_form = $_POST['e3text']; $email_

我正在尝试设置一个基本的文本框,当按下submit按钮时,它会通过电子邮件将框中的内容发送给我。问题是我一直收到空白电子邮件。由于某种原因,PHP代码没有访问文本框输入

//Two Email Lines
$email_to = "contact@mywebsite.com";
$email_subject = "AUTO: REQUEST";

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


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

//Create email headers
@mail($email_to, $email_subject,$email_message,$headers);
下面是HTML

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

从表单标记中删除enctype=“text/plain”。它起作用了

电子邮件\u Form\u Script.php

$email_to = "contact@mywebsite.com";
$email_subject = "AUTO: REQUEST";
//Set equal to email form textbox
$email_form = $_POST['e3text'];
echo $email_form;
$email_message = "Email: " . $email_form . "";
//Create email headers
@mail($email_to, $email_subject,$email_message,$headers);
和x.html

<form method="post" action="Email_Form_Script.php"  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>

这对我有用。

让他们澄清一些事情。电子邮件不是完全空的。它的内容是“Email:”,如PHP代码中所述。它一直在读取$email_form变量,因为blank.html和php代码在同一个页面中?不,是单独的文件。php代码是通过表单元素的action方法访问的,但实际上表单中的任何地方都没有textfield。在你上一个问题中,我们找到了一个很好的方法。如果
e3text
仅包含电子邮件地址,则需要从某处获取正文。它根本不在您的表单中-它来自哪里?请从代码中删除它:enctype=“text/plain”删除它并不能解决我的问题。是否可能是代码中的其他内容导致变量不断被读取为空?仍然显示为空变量输入。我的服务器上的php设置可能有问题吗?php代码中的所有其他内容都正常工作,我收到了一封电子邮件,但php仍然将E3文本作为空白读取。复制粘贴编辑过的答案。并在发送前回显$email_表单。那个密码对我有用。也许你在别的地方遇到了问题。我准确地复制了代码并尝试了它。同样的问题。我无法理解代码中其他地方的错误(编译很好)如何导致文本框被读取为空白。有什么想法吗?你是说这个(echo$email_form;)什么也不打印?奇怪的问题