2017-07-12 43 views
1

我的代碼:PHP的形式不發送電子郵件,而在HTML收集IP地址

<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("[email protected]","Inquiry Details<[email protected]>","Inquiry Request - same-hosted-website.com".$Company,$Str,"",""); 
sMail($_REQUEST["email"],"Inquiry Request Submit <[email protected]>","Inquiry Request - same-hosted-website.com".$Company,$Str2,"",""); 


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


?> 

問題是,當我試圖捕捉IP通過提交。 PHP的我的形式並沒有給我發電子郵件,並沒有這對submit.php做工精細:

.$_REQUEST["ipadd"]. 

當主HTML頁面上的任何用戶的土地,然後在視圖源表單正確地捕獲IP地址。但問題是我的表單在發送IP到我的電子郵件時不起作用。如果沒有IP,它會正確快速地發送電子郵件。

我該如何解決這個問題?

+0

'$ _REQUEST [「email」]'您的表單中沒有名爲'email'的字段! – RiggsFolly

+0

捕獲指定的IP地址有什麼意義? – arkascha

回答

0

你錯過了分號;

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

問題是在我submit.php ...我的輸入代碼工作正常,並獲得正確的IP地址,但是當它傳遞給submit.php然後它沒有給我發電子郵件...當我刪除提交IP值.php然後我得到正確和迅速的電子郵件... –

+0

在PHP中的單個語句不需要分號 - '「<?= $ _SERVER ['REMOTE_ADDR']?>'是完全有效的 – halfer

+0

..它工作正常,沒有分號......我可以檢查代碼是在視圖源中捕獲IP ......但是當它去submit.php它不會發送電子郵件到我的ID ...你可以測試我的代碼(HTML + Submit.php)然後你會知道這個問題... 我只是想要一個修復submit.php,以便我可以得到的IP以及.. –

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您正在使用的下一頁上。

+0

問題是在我的submit.php .. 。我的輸入代碼工作正常,得到正確的IP地址,但當它傳遞給submit.php然後它沒有給我發電子郵件......和wh我刪除了submit.php中的IP值,然後我收到電子郵件正確,迅速... –

+0

一切工作正常。有一些錯字問題需要更改。像你的表單中的'lasttname'到'lastname'一樣。沒有電子郵件的輸入字段,但是您在'submit.php'中使用'$ _REQUEST ['email']'。所以你應該在表單中添加一個''。 –

+0

你可以測試它與你告訴的更正...因爲我測試和結果是相同的..與'。$ _ REQUEST [「ipadd」]。'在submit.php中沒有正確迴應。 –

相關問題