Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: IP Adres verborgen meezenden in een Contact Form!  (gelezen 3807 keer)

Offline Mannetje

  • Lid
IP Adres verborgen meezenden in een Contact Form!
« Gepost op: 2011/10/24, 15:23:12 »
<?php
if(isset($_POST['email'])) {
     
    
// CHANGE THE TWO LINES BELOW
    
$email_to "xxx@hotmail.nl";
     
    
$email_subject "Contact Form";
     
     
    function 
died($error) {
        
// your error code can go here
        
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo 
"These errors appear below.<br /><br />";
        echo 
$error."<br /><br />";
        echo 
"Please go back and fix these errors.<br /><br />";
        die();
    }
     
    
// validation expected data exists
    
if(!isset($_POST['first_name']) ||
        !isset(
$_POST['last_name']) ||
        !isset(
$_POST['email']) ||
        !isset(
$_POST['telephone']) ||
        !isset(
$_POST['domicile']) ||
        !isset(
$_POST['comments'])) {
        
died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }
     
    
$first_name $_POST['first_name']; // required
    
$last_name $_POST['last_name']; // required
    
$email_from $_POST['email']; // required
    
$telephone $_POST['telephone']; // required
    
$domicile $_POST['domicile']; // required
    
$comments $_POST['comments']; // required
     
    
$error_message "";
    
$email_exp '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!
preg_match($email_exp,$email_from)) {
    
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    
$string_exp "/^[A-Za-z .'-]+$/";
  if(!
preg_match($string_exp,$first_name)) {
    
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!
preg_match($string_exp,$last_name)) {
    
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
  if(
strlen($comments) < 2) {
    
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
  if(
strlen($error_message) > 0) {
    
died($error_message);
  }
    
$email_message "Er is het volgende ingevuld op de website.\n\n";
     
    function 
clean_string($string) {
      
$bad = array("content-type","bcc:","to:","cc:","href");
      return 
str_replace($bad,"",$string);
    }
     
    
$email_message .= "Voornaam: ".clean_string($first_name)."\n";
    
$email_message .= "Achternaam: ".clean_string($last_name)."\n";
    
$email_message .= "Emailadres: ".clean_string($email_from)."\n";
    
$email_message .= "Telefoonnummer: ".clean_string($telephone)."\n";
    
$email_message .= "Woonplaats: ".clean_string($domicile)."\n";
    
$email_message .= "Bericht: ".clean_string($comments)."\n";
     
     
// create email headers
$headers 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' phpversion();
@
mail($email_to$email_subject$email_message$headers); 
?>

 
<!-- place your own success html below -->
 
<meta http-equiv="refresh" content="0;URL=http://www.hotmail.nl/">
 
<?php
}
die();
?>


<form action="http://www.hotmail.nl/xxx.php" method="post" name="htmlform">
<table width="450px">
<tbody>
<tr>
<td valign="top">Voornaam:</td>
<td valign="top"><input type="text" name="first_name" value="" size="30" maxlength="50" /></td>
</tr>
<tr>
<td valign="top">Achternaam:</td>
<td valign="top"><input type="text" name="last_name" value="" size="30" maxlength="50" /></td>
</tr>
<tr>
<td valign="top">Emailadres:</td>
<td valign="top"><input type="text" name="email" value="" size="30" maxlength="80" /></td>
</tr>
<tr>
<td valign="top">Telefoonnummer:</td>
<td valign="top"><input type="text" name="telephone" value="" size="30" maxlength="10" /></td>
</tr>
<tr>
<td valign="top">Woonplaats:</td>
<td valign="top"><input type="text" name="domicile" value="" size="30" maxlength="10" /></td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td valign="top"><textarea name="comments" rows="10" cols="30"></textarea></td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><input type="submit" value="Verstuur" /></td>
</tr>
</tbody>
</table>
</form>

« Laatst bewerkt op: 2011/10/24, 17:09:26 door Brumm3l »


Re: IP Adres verborgen meezenden in een Contact Form!
« Reactie #2 Gepost op: 2011/10/24, 15:58:36 »
Is het een tip of een vraag?

Met <input type="hidden" value="[hier zou ip moeten komen]"> kun je verborgen velden aan een formulier toevoegen die je van een value kan voorzien.

Re: IP Adres verborgen meezenden in een Contact Form!
« Reactie #3 Gepost op: 2011/10/24, 18:03:24 »
Je moet die niet vanaf de client laten komen, maar bij het server-side verwerken van de request toevoegen: bij <?php
    $email_message 
.= "Voornaam: ".clean_string($first_name)."\n";
    
$email_message .= "Achternaam: ".clean_string($last_name)."\n";
    
$email_message .= "Emailadres: ".clean_string($email_from)."\n";
    
$email_message .= "Telefoonnummer: ".clean_string($telephone)."\n";
    
$email_message .= "Woonplaats: ".clean_string($domicile)."\n";
    
$email_message .= "Bericht: ".clean_string($comments)."\n";
?>
VOEG JE TOE <?php
     $email_message 
.= "IP: ".$_SERVER['REMOTE_ADDR']."\n";
?>

Offline Mannetje

  • Lid
Re: IP Adres verborgen meezenden in een Contact Form!
« Reactie #4 Gepost op: 2011/10/25, 21:22:42 »
@overdenkamp: Thanks zou je het ieds beter willen uitleggen?
Want wat moet ik dan precies in de HTML van het contact form zetten?

Re: IP Adres verborgen meezenden in een Contact Form!
« Reactie #5 Gepost op: 2011/10/25, 21:32:16 »
Je hoeft niets in de HTML van de form aan te passen. Bij het ontvangen van het antwoord op de form, kijkt de php op de server van welk IP hij dit antwoord ontvangt, en voegt dat toe aan de e-mail.

Als je vanaf de form het IP adres laat komen zou dat voor de client heel makkelijk te veranderen zijn door een ander antwoord te sturen...

Bij de php-regels van mijn eerste codeblok voeg je dus gewoon de regel van mijn tweede blok toe, ergens ertussenin is misschien het makkelijkste...

Eigenlijk ga ik ervan uit dat je globaal gezien een beetje een idee hebt wat PHP doet...

Offline Mannetje

  • Lid
Re: IP Adres verborgen meezenden in een Contact Form!
« Reactie #6 Gepost op: 2011/10/25, 21:43:21 »
Bedankt het is gelukt!
Sorry voor de PMs.

 =D