Ga naar inhoud

[PHP] Formulier checken op niet ingevulde velden


Aanbevolen berichten

Ik (PHP-beginner 8) ) heb een formulier gebouwd. Verzenden enzo lukt allemaal. Nu wilde ik een check inbouwen zodat ik ervoor kan zorgen dat bepaalde velden moeten worden ingevuld. Daar gaat het fout. [quote:81e3924097] <?php $recipient = "fffff@fff.com $subject = "Formulier via site"; $header = "From: " . $email . "\n"; -Etc..- mail($recipient, $subject, $mail_body, $header); if($Submit) { if(strlen($voornaam) == 0) { $error_msg .= "Voer alstublieft uw voornaam in.<br>"; } if(strlen($achternaam) == 0) { $error_msg .= "Voer alstublieft uw achternaam in.<br>"; } if(strlen($email) == 0) { $error_msg .= "Voer alstublieft uw e-mailadres in.<br>"; } if(strlen($tekst) == 0) { $error_msg .= "Laat ons alstublieft weten wat u ons wilt 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 <a href=javascript:history.back(1)>Vorige</a> en vul alle velden in."; 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 <a href=javascript:history.back(1)>Vorige</a> en vul alle velden in."; } else { // Formulier uitgevoerd: melding weergeven echo "Hartelijk dank voor uw reactie."; }} else { // Formulier nog niet uitgevoerd: formulier opnieuw weergeven ?> -Formuliercode- </form> <?php } ?>[/quote:81e3924097] 1. Bij elke oproep van de pagina wordt een mail verzonden 2. De check werkt niet
Link naar reactie
Je moet natuurlijk eerst checken en dan pas mail sturen, nu doe je het sowieso andersom en dat kan niet goed zijn. Verder haal je waarden van een formulier op met $_POST['naam'], dus om als voorbeeld die $voornaam te nemen:[code:1:89b7cf67b1]if(!isset($_POST['voornaam']) { $error_msg .= "Voer alstublieft uw voornaam in.<br>"; }[/code:1:89b7cf67b1]
Link naar reactie
Het formulier werkt alleen nu doet ook het volgende probleem zich voor :{ De pagina is nogal zwaar en daarom maak ik gebruik van het volgende: [quote:d2a1b749db] <?php switch ($_GET['page']) { case home: include ("code/home.php"); break; case ontwerp: include ("code/ontwerp.php"); break; case ontwerpschetsen: include ("code/ontwerpschetsen.php"); break; case onderhoud: include ("code/onderhoud.php"); break; case contact: include ("code/contact.php"); break; default: ?> [/quote:d2a1b749db] Allemaal leuk enzo en het werkt maar als ik nu op verzenden klik dan gooit ie de check er niet in. Die check verwijst 'm namelijk door naar een andere pagina en die pagina is dus de default. Draai ik contact.php afzonderlijk dus www.url.com/contact.php dan werkt ie wel prima. Hoe kan dit worden opgelost?
Link naar reactie
  • 2 maanden later...
is dit probleem opgelost?? ik had hetzelfde probleem.. je gebruikt zeker PHP_SELF als formhandler?? Je verwacht dat hij dan weer teruggaat naar contact.php. Stel jij hebt index.php?page=contact, dan gaat hij terug naar index.php ik heb het opgelost met [code:1:e91125fd1a] <form action="<?php echo $PHP_SELF ?>?page=contact" name="contact" method="POST">[/code:1:e91125fd1a] Oftewel ?page=contact er gewoon achtergeplakt. Ik weet niet of dit de beste manier is maar het werkt wel :wink:
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...