Logisches Denkproblem

leon_20v

Erfahrenes Mitglied
Hallo,

ich habe ein Denkproblem. Ich habe es zwar rausgefunden wie es geht, kann mir aber selber grad nicht erklären wieso es so ist.

Ich möchte das etwas ausgeführt werden soll wenn:
1. Der eingeloggte Benutzername nicht Admin ist
oder:
2. Der eingeloggte Benutzername nicht der Wert ist, der in der Variable "$username" steht.

So funktioniert es:
PHP:
if ( ($_SESSION['username'] != "admin") && ($_SESSION['username'] != "$username") )


Meine Frage ist:

Warum muss dort kein logisches ODER hin?
Ist das Demorgan?
 
... Ich möchte das etwas ausgeführt werden soll wenn:
1. Der eingeloggte Benutzername nicht Admin ist
oder:
2. Der eingeloggte Benutzername nicht der Wert ist, der in der Variable "$username" steht.
...
... weil du etwas machen möchtest wenn nur beide Aussagen wahr sind:
(Benutzername nicht Admin) UND (Benutzername ungleich Variable)

Bei einer ODER-Verknüpfung wäre das Ergebnis schon dann wahr, wenn mindestens eine der beiden Aussagen zutreffend ist.
 
hmm... also ich hab heute nacht davon geträumt und bin selber draufgekommen :)

(!a UND !b) = !(a ODER b)



Was hela schreibt ist für mich nicht ganz richtig. Also es ist so, das ist eine persönliche Seite die nur der User ("$username") und der "Admin". Alle anderen werden weitergeleitet.

Somit lautet die Aussage:

Wenn nicht a ("admin") oder b("$username") dann tue folgendes....
--> !(a ODER b)

was nach "Demorgan" das Selbe ist wie (!a UND !b).


Ich hoffe ich konnte das jetzt richtig erklären... wie gesagt ich habs heute Nacht geträumt xD
 
Zurück