Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Formulier checken op niet ingevulde velden

4 antwoorden
  • 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
  • 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]
  • 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?
  • 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:

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.