PHP表单在收集IP地址时不发送电子邮件

时间:2017-07-12 10:15:17

标签: php ip-address contact-form

我的HTML代码:

<form action="submit.php" id="form" class="sk-form" method="post">
<input type="text" id="firstname" name="firstname" value="" placeholder="First Name" />
<input type="text" id="lastname" name="lasttname" value="" placeholder="Last Name"/>
<input type="hidden" id="ipadd" name="ipadd" value="<?=$_SERVER['REMOTE_ADDR']?>" />
<div class="text-center">
<button type="submit" class="btn bdr6 sksubmit">SUBMIT NOW</button>
</div>
</form>

这是submit.php

<?php


function sMail($To,$From,$Sbj,$Str,$Cc,$Bcc){
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$From."\r\n";
$headers .= "Cc: ".$Cc."\r\n";
$headers .= "bCc: ".$Bcc."\r\n";


mail($To, $Sbj, $Str, $headers);
}
$recnumbr = rand(1,999);
$Str = '<table width="100%" border="0" cellpadding="3" cellspacing="2">
<tr>
<td>Inquiry Details</font></strong></td></tr>
<tr>
<td><strong>First Name:</strong></font>/td>
<td>'.$_REQUEST["firstname"].'</font>/td></tr>
<tr>
<td><strong> Last Name:</strong></font></td>
<td>'.$_REQUEST["lastname"].'</font></td></tr>
<tr>
<td><strong> IP ADDRESS:</strong></font></td>
<td>'.$_REQUEST["ipadd"].'</font></td></tr>
</table>';

$Str2 = '<table width="96%" border="0" cellspacing="0" cellpadding="0">
<tr><td colspan="2" valign="middle" style="padding-left:10px;" valign="top" class="readmore-testi">
    <p>Thank You for submit your details. We will contact you ASAP...!</p></td></tr>
</table>';

sMail("myemail@gmail.com","Inquiry Details<info@same-hosted-website.com>","Inquiry Request - same-hosted-website.com".$Company,$Str,"","");
sMail($_REQUEST["email"],"Inquiry Request Submit <info@same-hosted-website.com>","Inquiry Request - same-hosted-website.com".$Company,$Str2,"","");


header ("location:thank-you.php");


?>

问题是,当我尝试通过submit.php捕获IP时,我的表单没有向我发送电子邮件,并且在没有这个的情况下,它在submit.php上工作正常:

.$_REQUEST["ipadd"].

当任何用户登陆主HTML页面时,则在view-source表单中正确捕获IP地址。但问题是我的表格在向我的电子邮件发送IP时没有用。没有IP,它可以正确快速地发送电子邮件。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您错过了分号;

value="<?=$_SERVER['REMOTE_ADDR'];?>"

答案 1 :(得分:0)

你必须回应以下内容,它将是空白的,直到你没有echo

<input type="hidden" id="ipadd" name="ipadd" value="<?php $_SERVER['REMOTE_ADDR'];?>" />

<input type="hidden" id="ipadd" name="ipadd" value="<?php echo $_SERVER['REMOTE_ADDR'];?>" />

和第二件事:

您在下一页上没有使用email名称的字段。