anoniem Geplaatst: 26 juni 2004 Delen Geplaatst: 26 juni 2004 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 Quote Link naar reactie
anoniem Geplaatst: 26 juni 2004 Auteur Delen Geplaatst: 26 juni 2004 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] Quote Link naar reactie
anoniem Geplaatst: 26 juni 2004 Auteur Delen Geplaatst: 26 juni 2004 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? Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 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: Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 Ja, het is al lang opgelost. Hoe precies weet ik niet, moet ik weer ff de code induiken. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen