PHP vraag E-mail formulier

  • Onderwerp starter Onderwerp starter leoj
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

leoj

Gebruiker
Lid geworden
16 jan 2008
Berichten
67
Sorry jongens, ik heb een PHP E-mail formulier ergens van het Internet gehaald, en het werkt naar behoren. Alleen heb ik een probleem welke ik zelf niet kan oplossen omdat ik totaal geen vertand heb van PHP.

Als ik als gebruiker een veld op het formulier niet invul wordt een een bestand geopend post.php. Het zelfde als ik de E-mail heb verstuurd, wordt hetzelfde bestand geopend maar dan met een andere tekst. Ik heb zelf al wat zitten "klooien" maar het wordt alleen maar erger ipv beter.

Ik zou graag willen dat deze teksten onder het form in de pagina worden geplaatst.

Als iemand van jullie mij zou kunnen helpen, graag.

Of.... Iemand van jullie moet een beter formulier hebben, dan ben ik helemaal blij

Alvast bedankt


HTML bestand
HTML:
<form name="form1" method="post" action="post.php">  
      Naam: <br><input name="naam" type="text" value""><br>  
      E-mail: <br><input name="email" type="text" value=""><br><br>  
      <textarea name="bericht" rows="7" cols="45"></textarea><br>  
      <input type="submit" name="Submit" value="Verzenden">  
</form>
PHP bestand
PHP:
<?php    
$naam = htmlspecialchars($_POST["naam"]);   
$email = htmlspecialchars($_POST["email"]);   
$bericht = htmlspecialchars($_POST["bericht"]);   
  
if (!$naam) {   
echo "U heeft geen naam ingevuld!";   
exit; }   
  
if (!$email) {   
echo "U heeft geen e-mailadres ingevuld!";   
exit; }   
  
if (!$bericht) {   
echo "U heeft geen bericht ingevuld!";   
exit; }   
  
else {   
  
$tijd = time();   
$datum = strftime("%d/%m/%y %H:%M", $tijd);   
$ip = getenv("REMOTE_ADDR");   
$message = "" . $naam . " met het e-mailadres " . $email . " en het IP $ip stuurde op $datum het volgende bericht:    
____________________________________   
" . $bericht . "  
------------------------------------";   
  
$mailadres = "XXXXXXXXXXXXXXXXXXX";   
$message = str_replace ("<br>","\n", $message);   
  mail("$mailadres", "Bericht van XXXXXXXX",   
    $message, "From: " . $email . "");   
       
echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";    
}   
?>
Mod: Gelieve de volgende keer de benodigde tags om je code heen zetten ;)
 
Laatst bewerkt door een moderator:
Heej,

Ik heb even je code herschreven, hoop dat het zo werkt;)

Note: Zoek in het PHP bestand naar $mailadres en verander voorbeeld@email.com naar je eigen email adres. (laat de " en " wel staan!)

HTML-bestand:

HTML:
<form name="form1" method="post" action="post.php">  
      Naam: <br><input name="naam" type="text" value""><br>  
      E-mail: <br><input name="email" type="text" value=""><br><br>  
      <textarea name="bericht" rows="7" cols="45"></textarea><br>  
      <input type="submit" name="Submit" value="Verzenden">  
</form>

PHP-bestand:
PHP:
<?php    
$naam = $_POST["naam"];   
$email = $_POST["email"];   
$bericht = $_POST['bericht'];   
  
if (!$naam) {   
echo "U heeft geen naam ingevuld!";   
exit; }   
  
if (!$email) {   
echo "U heeft geen e-mailadres ingevuld!";   
exit; }   
  
if (!$bericht) {   
echo "U heeft geen bericht ingevuld!";   
exit; }   
  
else {   
  
$tijd = time();   
$datum = strftime("%d/%m/%y %H:%M", $tijd);   
$ip = getenv("REMOTE_ADDR");   
$message = "" . $naam . " met het e-mailadres " . $email . " en het IP $ip stuurde op $datum het volgende bericht:    
____________________________________   
" . $bericht . "  
------------------------------------";   
  
$mailadres = "voorbeeld@email.com";   
$message = str_replace ("<br>","\n", $message);   
  mail("$mailadres", "Bericht van XXXXXXXX",   
    $message, "From: " . $email . "");   
       
echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";    
}   
?>
 
Dank je wel Laurens, ga het morgen proberen, in donder nu in slaap. ben al een poosje bezig met een unbalanced body tag als foutmelding in dreamweaver (template) nadat hij 100% is goedgekeurd door de xhtml strict validator.

Nou ja, het blijft in ieder geval leuk
 
Laurens, het probleem is nog steeds hetzelfde, jammer. Als je er nogmaals naar zou willen kijken graag.

VOOR MODERATOR >>>>>

Mod: Gelieve de volgende keer de benodigde tags om je code heen zetten

Je zal best gelijk hebben, maar ik weet echt helemaal niets van PHP, sorry
 
Ik zie zo snel niet een probleem zitten, zal er morgen nog eens uitgebreid naar kijken, dan heb ik de tijd:D
 
VOOR MODERATOR >>>>>
Je zal best gelijk hebben, maar ik weet echt helemaal niets van PHP, sorry

Wanneer je vaker PHP-code gaat plaatsen kun je dit het beste zo doen:
PHP:
{je_code}

Op die manier wordt de code zoals je in je eerste bericht ziet staan weergegeven :)
Dit leest prettiger en maakt het makkelijk voor helpers om bepaalde problemen te vinden en je op een exacte regel te wijzen.
 
mee eens, dan vind je fouten ook sneller, omdat de php tag ook met kleurcodes uit bijvoorbeeld dreamweaver werkt:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan