Hét vraag- en antwoordplatform van Nederland

Wat klopt er niet aan mijn IF statement? (php)

Ik heb een if statement gemaakt, eerste keer dat ik dat uit mezelf doe, maar hij werkt niet, wat is er fout aan?

if($name == ''){
$feedback = "Vul een naam in!"}
if($email == ''){
$feedback = 'Vul in een email in!'}
if($message == ''){
$feedback = 'Typ uw bericht'}

else{

}


Hier een werkende, maar wil hem dus als daarboven:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($name == '' || $email == '' || $message == ''){
$feedback = "Vul alle velden in!";
}
else{
mail($to, $subject, $body, $header);
$feedback = "Bedankt voor uw Email. Indien nodig nemen wij spoedig contact met u op!";
}
}

Verwijderde gebruiker
12 jaar geleden
Cryofiel
12 jaar geleden
Wat bedoel je met 'hij werkt niet'? WAT gaat er dan fout? Hoe reageert hij?
Cryofiel
12 jaar geleden
Ik zou in ieder geval voorstellen om puntkomma's achter elk statement te zetten, net als in het voorbeeld dat wél werkt. Verder heb je drie if-statements achter elkaar gezet, terwijl ik vermoed dat je die als een serie if-then-else-statements had willen gebruiken.
Verwijderde gebruiker
12 jaar geleden
Hij reageert totaal niet eigenlijk. Kreeg enkele foutmelding in dreamweaver. Heb er nu deze code van gemaakt: if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($name == ''){
$feedback = 'Vul een naam in!';}
elseif($email == ''){
$feedback = 'Vul in een email in!';}
elseif($message == ''){
$feedback = 'Typ uw bericht';} else{

mail($to, $subject, $body, $header);
$feedback = "Bedankt voor uw Email. Indien nodig nemen wij spoedig contact met u op!";
}
}
Cryofiel
12 jaar geleden
En nu doet-ie het nog steeds niet? Ik zou aan het einde nog toevoegen else {$feedback = 'REQUEST_METHOD is niet POST';} en dan in ieder geval $feedback bekijken. Met die extra 'else' erbij weet je zeker dat $feedback wordt gedefinieerd, ongeacht welke tak van de code je doorloopt. Oh ja, voor alle zekerheid kun je helemaal aan het begin nog zetten $feedback = '(lege waarde)'; Nu weet je echt zeker dat er te allen tijde iets zinnigs in $feedback zal staan. Zie je nu nog niets, dan wordt dus je hele code niet uitgevoerd.
Verwijderde gebruiker
12 jaar geleden
Ik kreeg inderdaad nog steeds niets te zien. Allen de melding dat het mailtje verzonden is. De code wordt wel uitgevoerd.
Cryofiel
12 jaar geleden
Wordt het mailtje daadwerkelijk verzonden? Laat je $feedback wel tonen op het scherm? Als je $feedback alleen definieert, maar de waarde ervan nooit laat zien, is het geen wonder dat je niets ziet... ;-)

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Het beste antwoord

Ik neem aan dat je wilt kijken of de variabele empty is. Dit kun je doen door de functie 'isEmpty'.

Voorbeeld:
if (isEmpty($name)) {
$feedback = 'Vul een naam in!';
}

Ik constateerde ook dat je achter de $feedback variabele geen ; hebt gedaan. Hiermee sluit je het als het ware en het is dus verplicht erachter te zetten
(Lees meer...)
Verwijderde gebruiker
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
De vraag was al opgelost, maar omdat jij de enige was die als antwoord reageerde + 10
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image