每当我在文本框中输入文本时,它都无法正确传输到PHP。 PHP将输入读为null,实际上,那里有文本。
PHP代码。
//Two Email Lines
$email_to = "contact@mywebsite.com";
$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代码
<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>
真的很困惑为什么它不起作用。我一直收到空的电子邮件,只是说“电子邮件:”(电子邮件后没有文字)。
答案 0 :(得分:2)
该行:
$email_form = $_POST['email_text'];
需要匹配表格中name
的格式name="e3text"
,因此您应该使用:
$email_form = $_POST['e3text'];
答案 1 :(得分:0)
在你的php代码中试试这个
$email_form = $_POST['e3text'];
“e3text”是文本框的名称,因此在php中使用此名称
答案 2 :(得分:0)
当您点击表单的提交按钮时,值将传递为:
name of the input field = value of the input field
您的字段名称为e3text
- 请参阅脚本中的此类字段,即$_POST['e3text']
。
答案 3 :(得分:0)
因为你的表单实际上并不包含在PHP代码中引用的名为email_text
的输入元素。您需要将HTML表单代码构造成至少这样或将PHP代码更改为需要$_POST['e3text']
。
<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>