problemen met e-mailformulier..

Status
Niet open voor verdere reacties.

onzone

Nieuwe gebruiker
Lid geworden
16 aug 2003
Berichten
4
wie kan miij dringend helpen met onderstaand formulier waar blijkbaar fouten in zitten?
(het komt niet toe op mijn e-mailadres..)
mvg andy

<?php
if($Submit){
if(strlen($naam)==0){
$error_msg="Voer alstublieft uw naam in.<br>";
}
if(strlen($email)==0){
$error_msg="Voer alstublieft uw e-mailadres in.<br>";
}
if(strlen($vraag)==0){
$error_msg="Laat ons alstublieft weten wat u ons wil vragen.<br>";
}
if($error_msg) {
//een van de velden werd niet goed ingevuld
echo "uw vraag kon om de volgende redenen helaas niet worden verwerkt:<br><br>";
echo $error_msg;
echo"<br>Klik alstublieft op <br><center><a href=javascript:history.back(1)>vorige</a><br></center>en vul alle velden in.";



}else{




$recipient= ()";
$subject ="Een vraag via de website";
$header= "From: " . $email . "\n";
$mail_body = "Het contactformulier werd op " . date("d-m-Y") ." om ". date("H:i") . " uur uitgevoerd. \n";
$mail_body .="De volgende gegevens werden ingevoerd:\r\n";
$mail_body .= "Naam:" .$naam. "\r\n";
$mail_body .= "E-mailadres: " . $email . "\r\n";
$mail_body .= "woonplaats: " . $woonplaats . "\r\n";
$mail_body .= "telefoon: " . $telefoon . "\r\n";
$mail_body .= "vraag:\n";
$mail_body .= $vraag . "\n\n -einde van het automatisch gegenereerde bericht-";
mail ($recipient, $subject, $mail_body, $header);
}

//formulier uitgevoerd: melding weergeven
echo "<br><br><br><br><H3><b><center>Hartelijk bedankt voor uw reaktie</center></b></h2>";
}else{

//formulier nog niet uitgevoerd: formulier weergeven
?>

<form action= "<?php echo $PHP_SELF ?>" method="POST">
<table width="100%" height="300"id="table6">
<tr ><td height="50"colspan="2">Gebruik onderstaand formulier om contact met ons op te nemen.</td></tr>
<tr ><td>naam:</td><td><input type="text" name="naam" size="35"></td></tr>
<tr ><td>e-mailadres:</td><td><input type="text" name="email" size="35"></td></tr>
<tr ><td>woonplaats:</td><td><input type="text" name="woonplaats" size="35"></td></tr>
<tr ><td>telefoon:</td><td><input type="text" name="telefoon" size="35"></td></tr>
<tr ><td>uw bericht:</td><td><textarea name="vraag" cols="30" rows="5"></textarea></td></tr>
<tr ><td></td><td><input type="submit" name="Submit" value="verzenden"></td></tr></table>
</form>
<?php
}
?>
 
een paar aanpassingen...
PHP:
<?
if(!empty($_POST))
{
$naam = $_POST["naam"];
$email = $_POST["email"];
$woonplaats = $_POST["woonplaats"];
$telnummer = $_POST["telefoon"];
$vraag = htmlspecialchars($_POST["vraag"]);
$error_msg = "blaat";
if(!($naam))
{ 
$error_msg  = "Voer alstublieft uw naam in."; 
} 
elseif(!($email))
{ 
$error_msg="Voer alstublieft uw e-mailadres in."; 
} 
elseif(!($vraag))
{ 
$error_msg="Laat ons alstublieft weten wat u ons wil vragen."; 
} 
if($error_msg != "blaat")
{ 
//een van de velden werd niet goed ingevuld 
echo ("uw vraag kon om de volgende redenen helaas niet worden verwerkt:<br>" . $error_msg . "<br>Klik alstublieft op vorige en vul alle velden in."; 
}
else
{ 
$recipient= "jouw email adres"; // moet je nog invullen he ;)
$subject ="Een vraag via de website"; 
$header= "From: " . $email . "\n"; 
$mail_body = "Het contactformulier werd op " . date("d-m-Y") ." om ". date("H:i") . " uur uitgevoerd. \n"; 
$mail_body .="De volgende gegevens werden ingevoerd:\r\n"; 
$mail_body .= "Naam:" .$naam. "\r\n"; 
$mail_body .= "E-mailadres: " . $email . "\r\n"; 
$mail_body .= "woonplaats: " . $woonplaats . "\r\n"; 
$mail_body .= "telefoon: " . $telefoon . "\r\n"; 
$mail_body .= "vraag:\n"; 
$mail_body .= $vraag . "\n\n -einde van het automatisch gegenereerde bericht-"; 
mail ($recipient, $subject, $mail_body, $header); 
} 
//formulier uitgevoerd: melding weergeven 
echo "Hartelijk bedankt voor uw reactie"; 
}
else
{ 

//formulier nog niet uitgevoerd: formulier weergeven 

// en plak hier je formulier code
?>
als t niet werkt, post de foutmelding dan ff...dan zijn er hier weer mensen die je wel willen helpen :thumb:

p.s. sorry voor 't vern**ken van de layout mensuh :o:p
 
Laatst bewerkt:
En ik maak er nog ffies wat anders van :D

PHP:
<?
if(!empty($_POST))
{
$naam = htmlspecialchars($_POST["naam"]);
$email = htmlspecialchars($_POST["email"]);
$woonplaats = htmlspecialchars($_POST["woonplaats"]);
$telnummer = htmlspecialchars($_POST["telefoon"]);
$vraag = htmlspecialchars($_POST["vraag"]);

if(!isset($naam))
{ 
$error_msg  = "Voer alstublieft uw naam in."; 
} 
elseif(!isset($email))
{ 
$error_msg="Voer alstublieft uw e-mailadres in."; 
} 
elseif(!isset($vraag))
{ 
$error_msg="Laat ons alstublieft weten wat u ons wil vragen."; 
} 
if($error_msg != "")	//Variabele bestaat nog niet, moet aangemaakt worden, is dan altijd leeg, 0, false...
{ 
//een van de velden werd niet goed ingevuld 
echo "uw vraag kon om de volgende redenen helaas niet worden verwerkt:" . $error_msg . "Klik alstublieft op vorige en vul alle velden in.";
}
else
{ 
$recipient= "jouw email adres"; // moet je nog invullen he <img src="images/smilies/wink.gif" border="0" alt=";)">
$subject ="Een vraag via de website"; 
$header= "From: " . $email . "\n"; 
$mail_body = "Het contactformulier werd op " . date("d-m-Y") ." om ". date("H:i") . " uur uitgevoerd. \n"; 
$mail_body .="De volgende gegevens werden ingevoerd:\r\n"; 
$mail_body .= "Naam:" .$naam. "\r\n"; 
$mail_body .= "E-mailadres: " . $email . "\r\n"; 
$mail_body .= "woonplaats: " . $woonplaats . "\r\n"; 
$mail_body .= "telefoon: " . $telefoon . "\r\n"; 
$mail_body .= "vraag:\n"; 
$mail_body .= $vraag . "\n\n -einde van het automatisch gegenereerde bericht-"; 
mail ($recipient, $subject, $mail_body, $header); 
} 
//formulier uitgevoerd: melding weergeven 
echo "Hartelijk bedankt voor uw reactie"; 
}
else
{ 

//formulier nog niet uitgevoerd: formulier weergeven 

// en plak hier je formulier code

/*
	Plak in het vervolg je code (inclusief html) op helpmij tussen de [ php ][ /php ] tags... Eerste keer geeft het niet maar het
	vern**kt de layout zo en bovendien zien we zo de code nog niet, alleen het resultaat van de uitvoer...
*/

}
?>

Oa gewijzigd:

- htmlspecialchars() bij alle post vars gedaan... javascript kan ook op andere velden uitgevoerd worden!

- if(!($naam)) is wel erg omslachtig en bovendien is het heel erg lui gedrag... Als php in de hoogste stand van error reporting stond (ook met notice erbij) dan zou php aangeven dat dit niet juist is. je zult echt met empty() en isset() moeten werken..

- Dat $errormsg = blaat slaat nergens op eik. Je kunt hem net zo goed weglaten, en bij de check kijken of hij reeds bestaat en zo niet dan is hij standaard aangemaakt en is hij leeg...

- De echo die daarop volgt begon met een ( en eindigde met een ". Dat is niet goed :)

- Tenslotte nog een comment toegevoegd :) ;)
 
Laatst bewerkt:
thanx

jpeetje en pcfixer...hartelijk bedankt voor de hulp.
nu werkt mijn e-mailformulier perfect.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan