ip meezenden mail

Status
Niet open voor verdere reacties.

No452354

Gebruiker
Lid geworden
12 apr 2010
Berichten
33
onderstaand script zorgt voor het versturen van een email aan mij met als inhoud informatie uit een ingevuld formulier. Nu wou ik graag het ip adres van degene die mijn formuliertje heeft ingevuld bij het mailtje instoppen. Na wat googelen ben ik een script tegen gekomen die mij het ip adres zou moeten opleveren. dat heb ik in het bestaande script opgenomen in de hoop een ip adres te verkrijgen. maar het nieuwe veld blijft helaas leeg. iemand misschien idee wat er fout gaan en hoe ik het zou moeten oplossen?
ty

PHP:
<?php

function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}



$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));
 
// mails om aan te versturen 
 
$EmailTo= array("info@site.nl","info@nogeensite.nl");
 
$Subject = Trim(stripslashes($_POST['Onderwerp']));
$Naam = Trim(stripslashes($_POST['Naam']));
$Bericht = Trim(stripslashes($_POST['Bericht']));
 
// validation
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}
 
// prepare email body text
$Body = "";
$Body .= "Naam: ";
$Body .= $Naam;
$Body .= "\n";
$Body .= "Bericht: ";
$Body .= $Bericht;
$Body .= "\n";
$Body .= "meerkeuze: ";
$Body .= Trim(stripslashes($_POST['meerkeuze']));
$Body .= "\n";
$Body .= "ip adres: ";
$Body .= $ip;

$Body .= "\n";
 
// multi mail
 foreach($EmailTo as $mail) 
 {
    // send email
    $success = mail($mail, $Subject, $Body, "From: <$EmailFrom>");
 }
 
 
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=bedankt.htm\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
 
$ip in je body moet

getRealIpAddr() zijn.

door deze functie aan te roepen wordt het ip adres gezocht en ge-returned, waardoor het in je mail komt.
De $ip is een variabele die alleen in de functie bestaat.
 
$ip in je body moet

getRealIpAddr() zijn.

door deze functie aan te roepen wordt het ip adres gezocht en ge-returned, waardoor het in je mail komt.
De $ip is een variabele die alleen in de functie bestaat.

dank je wel voor je reactie.

Moet t er dan zo uit komen te zien?

PHP:
$Body .= $getRealIpAddr;

ik krijg dan geen foutmelding, maar t veld blijft leeg... Doe ik het met die twee haakjes dr achter dan krijg ik wel een foutmelding.
 
Laatst bewerkt:
De () moeten erachter, omdat het een functie is die je aanroep.
Maar wat is de error dan die je op het scherm krijgt?
Kan maar zo dat er een fout in je functie zit!
Maar met $_SERVER['REMOTE_ADDR']; vraag je al de ip van de gebruiker op.
 
Omdat het een functie is moet je hem dus niet met een dollar-teken aanroepen, dat is alleen bij variabelen ;)

Het wordt dus zo :)

PHP:
$Body .= 'IP Adres: '. getRealIpAddr();
 
Omdat het een functie is moet je hem dus niet met een dollar-teken aanroepen, dat is alleen bij variabelen ;)

Het wordt dus zo :)

PHP:
$Body .= 'IP Adres: '. getRealIpAddr();

Zo werkt 't. dank je wel...

Jammer dat php zo ingewikkeld is. :(
 
Als je dit ingewikkeld vindt dan kun je beter ophouden met programmeren, elke taal werkt ongeveer op deze manier ;)
 
:D

ik programmeer omdat 't een noodzakelijk kwaad is helaas. Maar ik vind 't wel super wanneer ik iets wat ik in gedachten had uiteindelijk werkende te krijgen. + er ook al veel tijd gaat zitten in vormgeving wat ik misschien nog wel leuker vind om me mee bezig te houden.

Zonder diverse fora was ik nergens. thats for sure :D

thanx again.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan