[英]PHP Issue with Email Form
我曾经在此网站上获得过巨大成功,但在使用PHP电子邮件表单时遇到了类似的问题。 我尝试从以前的表格复制来,该网站上的人对按照我想要的方式工作非常有帮助,但是由于某种原因,它不会发送该表格。 我确信这是一个愚蠢的疏忽,但希望您能多加注意。
这是代码:
<?php
$state = 0;
// check to see if verificaton code was correct
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']){
// if verification code was correct send the message and show this page
mail("myemailaddress@hotmail.com", 'Website Inquiry: '.$subject, "\n".$comments."
\n\n".$name."\n\n".$company."\n\n".$email."\n\n".$_SERVER['REMOTE_ADDR']."\n\n".'InterestedIn: '.$InterestedIn, "\n\n".'ContactMethod: '.$ContactMethod,"From: $email");
// delete the cookie so it cannot sent again by refreshing this page
setcookie('tntcon','');
$state = 2;
} else if(isset($message) and $message!=""){
// if verification code was incorrect then return to contact page and show error
$state = 1;
}
if ($state == 0) { ?>
<form action="" method="post" name="form1" id="form1"
onsubmit="MM_validateForm('email','','RisEmail','name','','R','verif_box','','R')
;return document.MM_returnValue">
<p><strong>Tell us what you're interested in:</strong></p>
<dl>
<dd><input type="radio" name="InterestedIn" value="BIBS<?php echo $_GET['InterestedIn'];?>"> Blow-In-Blanket System
<input type="radio" name="InterestedIn" value="Foam<?php echo $_GET['InterestedIn'];?>"> Soya Spray Foam
<input type="radio" name="InterestedIn" value="Attic<?php echo $_GET['InterestedIn'];?>"> Attic Insulation
<input type="radio" name="InterestedIn" value="NotSure<?php echo $_GET['InterestedIn'];?>" checked="checked"> Not Sure</dd>
</dl>
<p><strong>Enter additional comments in the space provided below:</strong></p>
<dl>
<dd><textarea name="comments" cols="50" rows="5" border="0" id="comments"><?php echo $_GET['comments'];?></textarea></dd>
</dl>
<p><strong>Tell us how to get in touch with you:</strong></p>
<dl>
<dd>
<table>
<tr>
<td>Name*</td>
<td>
<input type="text" size="40" maxlength="256" name="Name" value="<?php echo $_GET['name'];?>"></td>
</tr>
<tr>
<td>Company</td>
<td>
<input type="text" size="40" maxlength="256" name="Company" value="<?php echo $_GET['company'];?>"></td>
</tr>
<tr>
<td>Email*</td>
<td><input type="text" size="40" maxlength="256" name="email" value="<?php echo $_GET['email'];?>"></td>
</tr>
<tr>
<td>Phone</td>
<td><input type="text" size="40" maxlength="256" name="Phone" value="<?php echo $_GET['phone'];?>"></td>
</tr>
<tr>
<td>City</td>
<td><input type="text" size="40" maxlength="256" name="City" value="<?php echo $_GET['city'];?>"></td>
</tr>
</table>
</dd>
</dl>
<p><strong>Best method to get in touch with you:</strong></p>
<dl>
<dd><input type="radio" name="ContactMethod" value="byphone<?php echo $_GET['InterestedIn'];?>" checked="checked"> Phone
<input type="radio" name="ContactMethod" value="byemail<?php echo $_GET['InterestedIn'];?>"> Email
</dd>
</dl>
<dl><dd><img src="verificationimage.php?<?php echo rand(0,9999);?>" alt="verification image, type it in the box" width="50" height="24" align="top"/> <input name="verif_box" type="text" id="verif_box" style="padding:2px; border:1px solid #CCCCCC; width:80px; height:14px;"/><br /><br />
Enter Verification Image
</dd></dl>
<p style="padding-left:60px;"><input type="submit" class="button primary" value="Submit Form" name="submit"/>
<input type="reset" class="button primary" value="Clear Form" name"clear" /></p>
</form>
任何帮助将不胜感激,因为我在家中有一个新婴儿,并且非常渴望有时间成为新妈妈,并努力完成最后一个项目。
先感谢您!
我认为一些基本的调试会很有帮助。
您似乎在混用$_GET
和method='post'
尝试一个仅用硬编码值调用mail()
单行脚本。 那样有用吗?
尝试提交您的表格。 输出$_POST
。 它具有您所期望的一切吗? $_COOKIE
吗?
提前构造要传递给mail
所有字符串。 他们每个人看起来像他们应该的吗?
尝试采用这些确切的字符串,然后将其直接放入mail()
(如上面的#2)。 那样有用吗?
到此列表的末尾,您将知道失败的位置,并可以获得更具体的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.