PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : unlogisch???



johnyb
27-01-2002, 21:30
hallo, also ich hab da mal ein problem... schaut euch mal folgendes an:

if ($file=fopen($datei,"r"))
{
$status=fgets($file,5);
$status="nein";
echo "Status: ";
echo $status;
echo "<br>";
if ($status = "ja") { echo "Die Antwort ist ja!!"; }
else { echo "Die Antwort ist nein!"; };
} else {
echo "Konnte Satusdatei nicht lesen";
exit;
};


ja, also, das mit dem $status="nein"; das ist so gewollt. (test) er gibt mir jetzt folgenes aus:

Status: nein
Die Antwort ist ja!!

und das egal, welchen Wert $status hat. kann das sein??? ich glaub's einfach nicht... ich seh nicht durch. kann mir da jemand helfen? Vielleicht hat die Alternative eine falsche Syntax oder so? Aber eigentlich nicht... Ich bin am verzweifeln...

bis dann
julian

Pingu
27-01-2002, 22:39
Hi johnyb,

das Problem ist einfach:

Du hast stehen: if ($test = "ja")
Es muß heißen: if ($test == "ja")

Denn einfache = sind Zuweisungen und dopple == sind Vergleiche

D.h. Du hast innerhalb der if-Anweisung ein der Variablen $test den konstanten Wert 'ja' zu gewiesen und gleichzeitig geprüft, ob der Wert gleich true ist (implizit). Ein konstanter Wert ist immer true, per Definition. Somit hat er auch gleich das 'echo ...' dahint mit ausgeführt.

Gruß

-= Pingu =-

johnyb
28-01-2002, 07:15
hallo,
hab ich's mir doch gedacht! super! danke!! also doch total logisch.. ;)

bis dann
julian