login  Naam:   Wachtwoord: 
Registreer je!
 Forum

veld in formulier verplicht maken (Opgelost)

Offline eXecoV - 31/01/2009 15:01
Avatar van eXecoVNieuw lid hier is mijn php code :

http://www.plaatscode.be/84233/

en mijn form in html ziet er zo uit :

  1. <form action="mail.php" method="post">
  2.  
  3.  
  4. Firma: <input type="text" name="firma"><br>
  5. Naam: <input type="text" name="naam">
  6. Voornaam: <input type="text" name="voornaam"><br>
  7.  
  8. E-mail: <input type="text" name = "email" size=50><br>
  9. Straat: <input type="text" name="straat">
  10. Nr: <input type="text" name="nr" size=10><br>
  11.  
  12. Postcode: <input type="text" name="postcode"20>
  13. Gemeente: <input type="text" name="gemeente"><br>
  14.  
  15. <input type="submit" value="Aanvraag indienen">
  16. </form>


hoe kan ik op een eenvoudige manier een veld verplicht maken, maw, als het veld niet ingevuld is er een foutmelding komt en de mail niet verzonden wordt?

9 antwoorden

Gesponsorde links
Offline Martijn - 31/01/2009 15:06
Avatar van Martijn Crew PHP
  1. if(empty($_POST['veldnaam'])){echo"je moet wel veldnaam invullen!";}
  2. else{
  3. // rest
  4. }
Offline eXecoV - 31/01/2009 15:49 (laatste wijziging 31/01/2009 15:53)
Avatar van eXecoV Nieuw lid deze werkt perfect voor één veld, alleszins enorm bedankt! Maar hoe kan ik dit doen voor meerdere velden?

als ik het stukje code 3keer na elkaar zet telkens een andere veldnaam, en een andere waarschuwingszin, dan komen ze wel tevoorschijn maar wordt het bericht WEL verstuurd naar mijn mailadres.wat niet het geval is bij slechts één verplicht veld.
Offline henver - 31/01/2009 17:28
Avatar van henver HTML gevorderde
  1. if(empty($_POST['veldnaam1'])){
  2. echo 'Veldnaam 1 moet ingevuld worden.';
  3. elseif(empty($_POST['veldnaam2'])){
  4. echo 'Veldnaam 2 moet ingevuld worden.';
  5. }else{
  6. // Mail
  7. }
Offline vinTage - 31/01/2009 17:55
Avatar van vinTage Nieuw lid En om door te gaan, wil je natuurlijk niet alleen kijken of een veld leeg is, maar ook of het (evt) juist is ingevuld...

is een ingevuld email adres wel een écht emailadres, is een postcode wel een echte postcode etc..
Offline eXecoV - 31/01/2009 18:01
Avatar van eXecoV Nieuw lid ik ben niet tegen een stap-voor-stap uitleg zoals deze nu aan het vormen is in dit onderwerp, want als ik alles in één keer in een code zie raak ik er niet aan uit  
Offline vinTage - 31/01/2009 18:04 (laatste wijziging 31/01/2009 18:05)
Avatar van vinTage Nieuw lid
  1. if(strlen($_POST['veldnaam1']) < 2){ //naam moet minimaal 2 chars lang zijn
  2. echo 'zo n korte naam da gij hebt....?.';
  3. elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
  4. ){
  5. echo 'fout email adres..';
  6. }else{
  7. // Mail
  8. }
Offline Arnold - 01/02/2009 13:54
Avatar van Arnold Nieuw lid
  1. <input type="text" name="naam*" />
  2.  
  3. foreach($_POST as $k => $v) {
  4. if(ereg('*', $k) && empty($v)) {
  5. $error = true;
  6. }
  7. }


Deze code loopt door de POST array heen als er een * in de naam van het veld staat dan kijkt hij of het veld is ingevuld of niet. Als het leeg blijkt te zijn dan maakt hij $error TRUE. Je zou ook een array kunnen vullen met de veldnamen van legen invoervelden.

Hoop dat je er wat aan hebt 
Offline eXecoV - 01/02/2009 14:57
Avatar van eXecoV Nieuw lid allemaal enorm bedankt probleem is opgelost!
Offline bartfysio - 06/06/2010 11:43
Avatar van bartfysio Nieuw lid Hoi Allemaal!!!

Ik heb de bovenstaande code ingevoerd maar had al een andere echo in mijn code staan. NU krijg ik dus de mededeling van het vergeten om uw emailadres in te vullen plus daarachteraan de standaard echo bij een goede verzending.

Waarschijnlijk heb ik het verkeerd geplaatst. Is er iemand onder jullie experts die me hiermee kan helpen alsjeblieft? Hoe kan ik dit oplossen?

Hieronder de code van het formulier.php

<?php
if(isset($_POST['submit'])) {

$to = "info@XXX.com";
$subject = "XXX website Contactformulier";

$option = $_POST['radio'];
$naam_field = $_POST['naam'];
$adres_field = $_POST['adres'];
$postcode_field = $_POST['postcode'];
$plaats_field = $_POST['plaats'];
$land_field = $_POST['land'];
$telefoon_field = $_POST['telefoon'];
$email_field = $_POST['email'];
$verhaal = $_POST['verhaal'];

foreach($_POST['check'] as $value) {
$check_msg .="$value\n";
}

if(empty($_POST['veldnaam'])){echo"je moet wel veldnaam invullen!";}
else{
// rest
}

$body = "$option\n Van: $naam_field\n Adres: $adres_field\n Postcode: $postcode_field\n Plaats: $plaats_field\n Land: $land_field\n Telefoon: $telefoon_field\n E-Mail: $email_field\n Vraag of opmerking: $verhaal\n Interesse in: $check_msg";

echo "Hartelijk dank voor uw informatieaanvraag, u krijgt zo spoedig mogelijk bericht van ons.";
mail($to, $subject, $body);

} else {

echo "Er is geen data verzonden! Probeer het opnieuw middels het contactformulier.";

}
?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s