我在尝试提交表单时遇到问题,并通过电子邮件发送提交的数据。我知道这通常已经完成,但我似乎在弄清楚这里有什么问题。所以当前的代码是。
<div class="contact" id="contact">
<div class="wrap">
<h3>CONTACT US</h3>
<p class="a">Free Estimates</p>
<div class="form">
<div class="form-text">
<form action="../contact.php">
<input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
<input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
<input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
</div>
<textarea placeholder="Your Message*"></textarea>
<div class="clear"> </div>
<input type="submit" value="SEND MESSAGE">
</div>
</div>
</div>
我有一个名为mailfrom.php的文件,但我认为这是我遇到问题的地方
<?php
$to = 'contact@qixty.com';
$subject = 'New Request from Website';
$message = $_POST['mytextarea'];
$headers = 'From: webmaster@qixty.com' . "\r\n" .
'Reply-To: contact@qixty.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
在主页面上点击提交后,我被带到一个新的空白页面。
更改http://qixty.com
的网址
至
http://qixty.com/mailfrom.php?PNumber=Phone+Number
任何帮助都会很棒。 我知道我可以像这样插入一个链接到mailto
<a href="mailto:contact@qixty.com?cc=faulkerson@gmail.com" class="btn" data-type="submit">Send</a>
但是这不会发布表单数据。我想让它向我发送一封电子邮件,其中包含邮件正文中的表单数据。
答案 0 :(得分:3)
你需要:
method="POST"
添加到<form>
name
属性(与您尝试在$_POST
中使用的键相匹配)添加到表单控件(例如<textarea name="mytextarea"></textarea>
)。如果您不想在浏览器中显示空白页面,请从PHP脚本输出一些内容,然后只需调用mail()
。
您还应该停止将value
属性视为<label>
。使用正确的<label>
元素并保留value
属性以提供默认值。
答案 1 :(得分:0)
如果您的操作文件名是mailform.php
,那么
<form action="../contact.php">
应该是
<form action="../mailform.php">
如果两个文件都在同一目录中,则从操作属性中删除../
。
形式
<div class="contact" id="contact">
<div class="wrap">
<h3>CONTACT US</h3>
<p class="a">Free Estimates</p>
<div class="form">
<div class="form-text">
<form method='post' action="../mailform.php">
<input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
<input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
<input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
</div>
<textarea name='mytextarea' placeholder="Your Message*"></textarea>
<div class="clear"> </div>
<input type="submit" value="SEND MESSAGE">
</div>
</div>
</div>
mailform.php
$to = 'contact@qixty.com';
$subject = 'New Request from Website';
$message = $_POST['mytextarea'];
$headers = 'From: webmaster@qixty.com' . "\r\n" .
'Reply-To: contact@qixty.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$send = mail($to, $subject, $message, $headers);
// this will help you to get the status mail sent or not
if($send) :
echo "Email sent";
else :
echo "Email sending failed";
endif;
答案 2 :(得分:0)
这个问题已得到解答。我有html问题php很好。
<div class="form">
<div class="form-text">
<form action="../mailfrom.php" method="post">
<input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
<input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
<input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
</div>
<textarea name="mytextarea" placeholder="Your Message*"></textarea>
<div class="clear"> </div>
<input type="submit" Label="SEND MESSAGE">
</div>