ISSET verhällt sich falsch

radarin

Angesehenes Mitglied
CODE
if(!isset ($INDEX_IS_LOADED))
{
echo "Test: ";
echo INDEX_IS_LOADED;
}


Irgendwie will es nicht. 'echo' sollte ausgeführt werden, wenn die konstannte NICHT definiert wurde. Ist sie nicht definiert führt das dazu, das der Konstantenname ausgegeben wird. Ist sie jedoch definiert wird der Wert der Konstanten korrekt ausgegeben, soweit alles i.o., nur eben dass bei vorhandener Konstante die 'echo's nicht ausgeführt werden solten, damit ich daraus einen Abruch der Verarbeitung machen kann...
 
nene, nullpointer, das ist eine konstante! also hat es ein $ zuviel im isset()! aber das kannst du ja nicht wissen, ich weiss es nur, weil der codeschnippsel von mir ist.
rolleyes.gif
 
Das Problem hat sich erledigt. Mit ISSET scheint es nicht zu gehen, habe alles mögliche probiert, mit und ohne $ resp. ' und ". So funktioniert es wunderbar:

CODE
if(!defined ("INDEX_IS_LOADED")) {
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=http://www.pferde.ch/index.php?page=error&view=template\">";
}


Was ich damit bezwecke? Dass error.php nicht alleine geladen werden kann, sondern nur über die index.php. Die Irreführenden echos dienten dazu die Variable und deren Inhalt zu testen.

Thanks, René
 
ah, klar, isset ist nur für variablen, nicht für konstanten. sorry.
wink.gif


allerdings noch was: konstanten würde ich nie in quotes schreiben, die kannst du ganz einfach ohne hinschreiben:

...defined(MY_CONSTANT)...

ist schönerer stil, weil du konstanten innerhalb von sonstigen strings nicht so ausgeben kannst, sondern ihn ausserhalb des strings stellen musst:

echo "dies ist meine konstante: ".MY_CONSTANT."! sie ist sehr schön!";

smile.gif
 
Zurück
Oben