正如我的标题所说,我的电子邮件表单在电子邮件中提交“未定义”。让我从一些代码开始......
HTML:
<form action="contactform.php" method="post" enctype="multipart/form-data" name="contact">
<input name="name" type="text" value="Name" onfocus="if(this.value=='Name') this.value='';" />
<input name="email" type="text" value="Email address" onfocus="if(this.value=='Email address') this.value='';" />
<input name="phonemodel" type="text" value="Phone model" onfocus="if(this.value=='Phone model') this.value='';" />
<textarea name="comments" cols="" rows="" style="height:130px;" onfocus="if(this.value=='Type your message here.') this.value='';" >Type your message here.</textarea>
<input type="image" name="button" value="Submit" src="../media/btn_play_submit.png" style="margin-right:5px; margin-top:12px;" />
</form>
PHP:
<?php
if(isset($_POST['name'])) {
$to = 'MYEMAILHERE';
$headers = "From: blahblahblah\r\n";
$subject = "Online Contact Submission Received\r\n";
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phonemodel'];
$comments = $_POST['comments'];
$message .= "Name: " . $name . "\r\n";
$message .= "Email: " . $email . "\r\n";
$message .= "Phone Model: " . $phone . "\r\n";
$message .= "Comments: " . $comments . "\r\n";
mail($to, $subject, $message, $headers);
}
?>
我收到的电子邮件看起来像这样(是的,我在字段中输入了文本...):
Name: undefined
Email: undefined
Phone Model:
Comments: undefined
我注意到的第一件事:“电话型号”不像其他型号那样说“未定义”。第二,为什么其他人说的是 undefined 而不是我输入的文本?
提前致谢。
最佳答案
尝试改变
$message .= "姓名:". $名字。 "\r\n";
到
$message = "姓名:". $名字。 "\r\n";
编辑:示例如下:
if(isset($_POST['name'])) {
var_dump($_POST);
exit;
关于提交未定义值的 PHP 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727071/