PDA

Volledige versie bekijken : Meerdere voorwaarden met if else functie


Kytana
%Europe/Berlin %529 %2008, 12:43
Hey,

Ik ben beetje bij beetje aan het leren om php code te gebruiken zonder DW behaviors.. en nu ben ik een beetje vastgelopen.

De bedoeling is dat ik de antwoorden uit een vragenlijst ophaal en dan verschillende meldingen laat zien.

- bij alle antwoorden goed moet er "gefeliciteerd je hebt alle antwoorden goed" komen,
- bij niet alle antwoorden goed moet er "je hebt niet alle antwoorden goed" komen,
- bij geen enkel goed antwoord moet er "je hebt geen enkele vraag goed" komen te staan.

nu heb ik in php het volgende:
<?php
$vraag1=$_REQUEST["vraag1"];
$vraag2=$_REQUEST["vraag2"];
$vraag3=$_REQUEST["vraag3"];

if($vraag1=="boom") { echo"u heeft vraag 1 goed beantwoord";
}
if(($vraag2=="tand") and ($vraag1=="boom")) { echo" u heeft vraag 1 en vraag 2 goed beantwoord";
}
if($vraag3="wind") { echo" u heeft vraag 3 goed beantwoord";
}
else{ echo "je hebt niet een vraag goed beantwoord, of de velden niet of onjuist ingevuld"; }


$a=$_REQUEST["aantal"];
while($a<=100){
echo "Gefeliciteerd, je hebt alle vragen juist beantwoord <br>";
$a=$a+10;
}
?>

misschien dat de code nog niet helemaal klopt ivm al die rare haakjes en punt-komma's :P maar wat ik dus zoek is een manier om te zeggen:

Als alle antwoorden goed zijn, laat dan "alle antwoorden zijn goed" zien.

Ik ken nu alleen de code "AND" om meerdere voorwaarden in te vullen, maar daarmee kan ik maar 2 variabelen verwerken, dit zijn er 3..

Kan iemand mij hiermee helpen?

Dauntless
%Europe/Berlin %546 %2008, 13:07
$aantal = 0;
if($vraag1 == "boom") $aantal ++;
if($vraag2 == "tand") $aantal ++;
if($vraag3 == "wind") $aantal ++;

if(aantal == 0) print "Geen enkel antwoord juist";
if(aantal == 3) print "U heeft alles juist";
else print "U heeft sommige juist";


Overigens kan je met && (AND) veel meer condities aan elkaar haken hoor:
if($vraag1 == "boom" && $vraag2 =="tand" && $vraag3 == "wind") print "alles juist";
Maar deze manier van werken is in dit geval niet echt handig.

Ook hebben we, zoals je hierboven ziet, [php] tags voor php code.

Kytana
%Europe/Berlin %556 %2008, 13:22
oke bedankt :) ik ga kijken of ik hier iets mee kan,

edit: nu zijn t wel php tags :)

Kytana
%Europe/Berlin %613 %2008, 14:43
Ik krijg het nog steeds niet voor elkaar,
eerst heb ik de code geprobeert die hierboven stond, maar deze deed het niet. Toen heb ik het een beetje aangepast en nu heb ik dit:

<?php
$vraag1=$_REQUEST["vraag1"];
$vraag2=$_REQUEST["vraag2"];
$vraag3=$_REQUEST["vraag3"];

$aantal = 0;
if($vraag1 == "boom") $aantal==1;
if($vraag2 == "tand") $aantal==1;
if($vraag3 == "wind") $aantal==1;

if(aantal == 0) { echo "Geen enkel antwoord juist";
}
if(aantal == 3) { echo "U heeft alles juist";
}
else { echo "U heeft sommige juist";
}

?>


Maar het werkt nog steeds niet, ik krijg bij alles wat ik invul:
"Geen enkel antwoord juistU heeft sommige juist"

Hij telt er dus niets bij op, maar hoe dat kan weet ik niet..

Dauntless
%Europe/Berlin %620 %2008, 14:54
1: Er is een verschil tussen = en ==. Als je iets wil toekennen gebruik je '=' en als je iets wil vergelijken (zoals binnen een if()), gebruik je ==

2: Je wil net dat '$aantal' (welke staat voor het aantal correct beantwoorde vragen) verhoogt telkens je een vraag juist hebt. Na elke if moet dus '$aantal ++;' komen (zonder de quotes uiteraard)