2017-07-12 2 views
1

Mon code HTML:forme PHP n'envoie des e-mails tout en collectant des adresses 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> 

Et c'est le 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"); 


?> 

Le problème est quand j'ai essayé de capturer IP via soumettre. php ma forme ne m'a pas envoyé par courriel, et il fonctionne très bien sans cela sur submit.php:

.$_REQUEST["ipadd"]. 

Lorsqu'un espace utilisateur sur la page HTML principale, puis dans Le formulaire view-source capture l'adresse IP correctement. Mais le problème est que ma forme n'a pas fonctionné lors de l'envoi d'IP à mon email. Et sans IP, il envoie des emails correctement et rapidement.

Comment puis-je résoudre ce problème?

+0

'$ _REQUEST [" email "]' il n'y a pas de champ appelé 'email' dans votre formulaire! – RiggsFolly

+0

Et quel est le sens de capturer l'adresse IP spécifiée? – arkascha

Répondre

0

Vous avez manqué

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

problème est dans mon submit.php ... mon code d'entrée fonctionne bien et obtenir l'adresse IP correctement, mais quand il est passé à submit.php alors il ne m'a pas envoyé d'e-mail ... et quand je supprime la valeur IP dans soumettre .php puis j'obtiens l'email correctement et rapidement ... –

+0

Le point-virgule n'est pas nécessaire pour une seule instruction en PHP - '" 'est parfaitement valide – halfer

+0

exactement .. ça marche bien sans point-virgule ... je peux vérifier que le code capture IP dans view-source ... mais quand il est allé à submit.php il n'envoie pas d'e-mail à mon ID ... vous pouvez tester mon code (HTML + Submit.php) alors vous saurez le problème ... je veux juste un correctif pour submit.php afin que je puisse obtenir l'adresse IP aussi .. –

0

Vous devez faire écho à ce qui suit, il sera vide jusqu'à ce que vous n'avez pas echo:

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

Comme

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

et 2 chose:

Il n'y a pas de champ portant le nom email que vous utilisez à la page suivante.

+0

problème est dans mon submit.php .. mon code d'entrée fonctionne correctement et obtient l'adresse IP correctement mais quand il est passé à submit.php alors il ne m'a pas envoyé d'email ... et wh fr je supprime la valeur IP dans submit.php puis je reçois des e-mails correctement et rapidement ... –

+0

Tout fonctionne bien. Il y a quelques problèmes de typo que vous devez changer. Comme 'lasttname' à' lastname' dans votre formulaire. il n'y a pas de champ de saisie pour le courrier électronique, mais vous utilisez '$ _REQUEST ['email']' dans votre 'submit.php'. Vous devriez donc ajouter un '' dans votre formulaire. –

+0

pouvez-vous le tester avec la correction que vous avez dit ... parce que je tester et le résultat est le même .. avec '. $ _ REQUEST ["ipadd"].' dans submit.php ne répond pas correctement. –