verplicht veld in php

Status
Niet open voor verdere reacties.

Donnows

Gebruiker
Lid geworden
14 feb 2008
Berichten
442
Hallo,

Ik ben bezig met een aanmeld scripje maar ik heb er nog 1 " bug" in zitten en ik krijg dat er niet uit.
Het gaat om een verplicht veld, hij controleerd al of er iets staat of niet en hij geeft een melding als het niet zo is, maar ook al staat er niets in het vak dan nog verstuurt hij het formulier.
weet iemand hoe ik dat makelijk op kan lossen?

alvast bedankt voor de moeite,

Donnows



het gaat dus om dit stukje
PHP:
if (empty($_POST['team'])) {
echo "geen teamnaam in gevoerd"; }

hier de rest van het script
PHP:
<style type="text/css">
<!--
body {
	background-color: trancparent;
}
body,td,th {
	color: #FFCC00;
}
-->
</style><?php

$to = "Tjeerd@bmeel.nl";
$subject = "Bericht aanmelding";  



$team = $_POST['team'];
$geslacht = $_POST['geslacht'];
$club = $_POST['club'];
$contactpersoon = $_POST['contactpersoon'];
$straatnaam = $_POST['straatnaam'];
$postcode = $_POST['postcode'];
$plaatsnaam = $_POST['plaats'];
$telefoonnummer = $_POST['telefoon'];
$email = $_POST['email'];
$aantalpersonen = $_POST['personen'];

$message = "
team: $team
geslacht: $geslacht
club: $club
contactpersoon: $contactpersoon
straatnaam: $straatnaam
postcode: $postcode
plaatsnaam: $plaats
telefoonnummer: $telefoon
email: $email
aantalpersonen: $personen

";


function checkmail($email) 
{
    // explode het e-mail adres op een @
    $email_host = explode("@", $mail); 
    // pak alles na de @
    $email_host = $email_host['1'];
    // zet een var met de (eventuele) DNS van de domein
    $email_resolved = gethostbyname($email_host); 

    // kijk of er een DNS aan zit en of alles voor en na het e-mail adres klopt
    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
        $valid = 1; 

    // wanneer het geldig is, is $valid = 1, zo niet, dan geeft hij geen result (NULL)
    return $valid; 
	
} 

if (empty($_POST['team'])) {
echo "geen teamnaam in gevoerd"; }

if(!mail ($to, $subject, $message)) die("kon mail niet verzenden");
else {
echo "Bedankt voor uw aanmelding"; //bedankje
}

?>
 
Laatst bewerkt:
Dat komt omdat je de mail-functie niet afhankelijk maakt van het verplichte veld.

PHP:
if (empty($_POST['team'])) {
  echo "geen teamnaam in gevoerd";
} else {
  if(!mail ($to, $subject, $message)) {
    die("kon mail niet verzenden");
  } else {
    echo "Bedankt voor uw aanmelding"; //bedankje
  }
}
?>
Door gebruik te maken van een IF en ELSE maak je hem afhankelijk.
Nu gaat hij dus naar de ELSE wanneer het veld niet leeg is.
 
Oke Ik zal dat er in zetten, moet ik verder nog wat met dat else statement doen? of is dat niet nodig
 
Wat zou je er nog mee willen doen dan?
 
Harstike bedankt, ik snap het nog niet helemaal maar het werkt.


oke Tha Devil hartstike bedankt
 
Uitleg:
PHP:
if (empty($_POST['team'])) {
  // ALS $_POST['team'] leeg is dit uitvoeren
  echo "geen teamnaam in gevoerd";
} else {
  // ANDERS
  if(!mail ($to, $subject, $message)) {
    // ALS de mail niet kan worden verzonden dit uitvoeren
    die("kon mail niet verzenden");
  } else {
    // ANDERS
    echo "Bedankt voor uw aanmelding"; //bedankje
  }
}
?>
 
Dat snapte ik al maar evengoed bedankt

(snap alleen die if /else statments niet altijd )
 
Wat snap je er niet aan dan, je moet het gewoon als zinnen lezen.
 
Euhm oke, in iedergeval snap ik het nu wel en het werkt :)

bedankt voor de moeite die je voor mij gedaan hebt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan