Hallo,

Ik heb lokaal (via Apache op m'n XP machientje) een "if else" statement gebruikt in m'n script. Alles werkt goed.
Als ik nu het geheel overzet op het web gaat alles goed (MySQL database queries etc.) behalve het "if else" statement.
Welke variabele in ook gebruik, het resultaat van "if" wordt getoont en "else" komt niet tevoorschijn..... .
Hij lijkt dus altijd de vraag als "waar" te beoordelen.
Hieronder het deel uit het script.

<?
if ($carrierchoice == NULL)
{
echo "Waar" ;
}
else
{
echo "Anders<br>";
}
?>

Groeten,

Arthur
Toevoeging van Arthur:

Zijn er verschillende interpretaties van dit statement?
Ik gebruik lokaal PHP Versie: 4.1.1
De provider gebruikt PHP Versie: 4.2.3

Alvast bedankt
Weet je zeker dat de variabele wel aangemaakt en gevuld wordt? In ieder geval is er geen verschil in werken van if/else binnen verschillende php versies, waarschijnlijk zul je dus een foutje in je script hebben.

Controleer dus even hoe je aan je variabele komt. Zie ook dit voorbeeldje, dit zal de output 'Anders' geven:
<?php
$carrierchoice = 'iets';
if ($carrierchoice == NULL)
{
echo "Waar" ;
}
else
{
echo "Anders<br>";
}
?>
probeer es
if ($carrierchoice == "")
of
if ($carrierchoice == 0)
foutafhandeling?<?php
if(isset($carrierchoice)) {
if ($carrierchoice == NULL)
{
echo "Waar" ;
}
else
{
echo "Anders<br>";
}
} else {
echo "De variabele is niet geset, dit is dus het probleem... ;-)";
}
?>
Kleine aanvulling/aanpassing op Niek:
In PHP controleer je of een variabele wel is geset met isset(), ik denk namelijk dat == NULL niet werkt, en dat je een notice zou krijgen als je error_reporting aan had staan.
Dus doe het gewoon zo, ik denk dat het dan wel werkt zoals je wil:
<?php
if(!isset($carrierchoice)) {
echo 'Waar';
} else {
echo 'Anders<br>';
}
?>
kleine aanvulling op willemjan
kijk of die niet is gezet of leeg is:
<?php
if(!isset($carrierchoice) || empty($carrierchoice)) {
echo 'Waar';
} else {
echo 'Anders<br>';
}
?>
leroy schreef op 11.11.2006 11:42
kleine aanvulling op willemjan
kijk of die niet is gezet of leeg is:
<?php
if(!isset($carrierchoice) || empty($carrierchoice)) {
echo 'Waar';
} else {
echo 'Anders<br>';
}
?>


dat hoeft (denk ik) niet.. als je juist wil dat iets leeg is, maar wel is geset kom je hier in de problemen..
ja.. maar hij wou toch kijken of iets leeg is?
of heb ik het verkeerd gelezen??
<?
if (!empty($carrierchoice))
{
echo "Waar" ;
}
else
{
echo "Anders<br>";
}
?>
Hallo allemaal,

Bedankt voor jullie hulp en suggesties. Het probleem is nog niet opgelost, we zijn wel een stap verder.
If .. else.. werkt goed maar...... Ik heb ontdekt dat het misgaat omdat de variabele die ik opvraag helemaal niet gevonden wordt.
Als ik het hele if..else.. deel weglaat en in geef alleen de instructie om de variabele weer te geven die ik in de if.. else.. gebruik dan krijg ik 'm niet in beeld. Wederom lukt het wel lokaal maar niet op de server van m'n provider.

Ik zal deze vraag even apart posten. Het heeft immers niets meer te maken met m'n oorspronkelijke vraag

Reageren