PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

Logische Operatoren

10. Februar 2020
  1. Home
  2. »
  3. PHP Tutorial
  4. »
  5. Logische Operatoren

Oft reicht es nicht aus in einer if-Anweisungen nur eine Bedingung zu überprüfen. Wenn man z.B. eine Passwortabfrage macht, möchte man wissen ob der Benutzername und das Passwort korrekt sind.

Für diesen Zweck gibt es die logischen Operatoren. Mittels lassen sich beliebig viele Bedingungen überprüfen. Um mehrere Bedingungen zu überprüfen existieren die folgenden Schlüsselwörter:

  • Mittels AND oder der alternativen Schreibweise &&  müssen beide Bedingungen erfüllt sein.
  • Mittels OR  oder der alternativen Schreibweise ||  muss nur eine Bedingung erfüllt sein.
  • Mittels dem Ausrufezeichen !  lassen sich Bedingungen negieren, d.h. damit diese erfüllt ist, darf die Bedingung nicht zutreffen.
  • Mittels Klammern (  und )  lassen sich Bedingungen noch gruppieren.

Inhaltsverzeichnis

  • 1 AND und OR-Operatoren
  • 2 Bedingungen Gruppieren mittels Klammern
  • 3 Negation von Bedingungen
  • 4 Beispiel: Passwortabfrage

AND und OR-Operatoren

Werden zwei oder mehr Bedingungen durch  AND verknüpft, so müssen alle Bedingungen erfüllt sein. Die alternative Schreibweise ist  && . Welche man wählt, ist egal, und ist dem persönlichem Geschmack überlassen.

Bei  OR  ist es ausreichend, wenn bereits eine der Bedingungen erfüllt ist. Die alternative Schreibweise dazu ist  ||. Nachfolgend ein Beispiel

<?php 
$username = "Nils"; 
$passwort = "php-einfach"; 
if($username == "Nils" AND $passwort == "php-einfach") { 
   echo "Beide Bedingungen waren erfüllt - Zugriff erlaubt. <br />"; 
} 

if($username == "Nils" OR $passwort == "php-einfach") {
  echo "Eine oder beide Bedingungen waren erfüllt.";
}
?>

Bei der ersten if-Anweisung werden $username und $passwort gemeinsam überprüft. Nur wenn beide Eingaben stimmen, wird der entsprechende Text ausgegeben. Bei der zweiten if-Anweisung ist es bereits ausreichend, wenn eine Bedingung erfüllt ist, also der $username oder das $passwort stimmen.

Durch AND und OR lassen sich auch mehr als nur zwei Bedingungen überprüfen:

<?php
$gehalt = 25000;
$vermoegen = 10000;
$erbschaft = 0;

if($gehalt > 10000 OR $vermoegen > 50000 OR $erbschaft > 1000000) {
   echo "Wow, du bist reich!";
} else if($gehalt < 1000 AND $vermoegen < 10000 AND $erbschaft == 0) {
   echo "Kleines Gehalt, wenig Vermögen, keine Erbschaft, schade!";
} else {
  echo "Keine der Bedingungen war erfüllt";
}
?>

Bedingungen Gruppieren mittels Klammern

Manchmal möchte man AND und OR-Operatoren miteinander kombinieren um gewisse Alternativen zu erlauben. Bei einer Passwort-Abfrage möchte man beispielsweise verschiedene Benutzer erlauben. Um die Zusammengehörigkeit der Operatoren klar zu machen, kann man diese mittels Klammern gruppieren.

<?php
$username = "Nils";
$passwort = "php-einfach";

if( ($username == "Nils" AND $passwort == "php-einfach") OR ($username == "Paul" AND $passwort == "geheim") ) {
  echo "Benutzername und Passwort passten zusammen. <br />";
}

if( $username == "Nils" AND ($passwort == "php-einfach" OR $passwort == "geheim") ) {
  echo "Der Benutzername war Nils, und das Passwort entweder php-einfach oder geheim.";
}

Die erste if-Anweisung ist nur erfüllt, falls der Benutzer Nils mit dem Passwort php-einfach oder aber der Benutzer Paul und das Passwort geheim war.

Bei der zweiten if-Anweisungen muss der Username Nils sein und das Passwort darf entweder php-einfach oder geheim sein, damit die if-Anweisung ausgeführt wird.

Negation von Bedingungen

Mittels dem Ausrufezeichen  ! lassen sich Bedingungen verneinen. Das erste Beispiel hatte ihr im Artikel zu if-Anweisungen gesehen. Ob eine Variable ungleich einer anderen Variable ist, lässt sich mittels  $variable1 != $variable2 überprüfen. Wir können auch eine Bedingung bzw. auch mehrere Bedingungen verneinen, indem das Ausrufezeichen zu Beginn dieser geschrieben wird.

<?php
$zahl = 25;

if($zahl >= 10 AND $zahl <= 20) {
   echo "Die Zahl ist zwischen 10 und 20. <br />";
}

if( !($zahl >= 10 AND $zahl <= 20) ) {
   echo "Die Zahl war NICHT zwischen 10 und 20 <br />";
}
?>

Bei der zweiten if-Anweisung wird die Bedingung verneint, das heißt, diese ist erfüllt, dass die Zahl nicht zwischen 10 und 20 liegt. In solch einem Fall war die Zahl entweder kleiner als 10 oder größer als 20.

Übungsaufgabe: Forme die zweite if-Anweisung so um, dass keine Negation mittels ! genutzt wird, sondern nur AND, OR und entsprechende Vergleichsoperationen wie <, <= etc.

 

Beispiel: Passwortabfrage

Für eine echte Passwortabfrage würde man die Variablen $username und $passwort per Formular eingeben.

Dazu benötigen wir zuerst wieder ein Formular mit zwei Input-Feldern.

1
2
3
4
5
6
7
<form action="seite2.php" method="post">
Username:<br>
<input type="Text" name="username" /><br />
Passwort:<br />
<input type="Password" name="passwort" /><br />
<input type="Submit" value="Absenden" /><br />
</form>

In diesem Formular gibt man dann den Username und das Passwort ein. Klickt man danach auf Absenden, wird seite2.php aufgerufen und an diese beide Eingaben übergeben.

seite2.php muss dann so aussehen:

<?php
$username = $_POST["username"];
$passwort = $_POST["passwort"];

if($username=="Nils" AND $passwort=="php-einfach")
   {
   echo "Zugriff erlaubt";
   }
else
   {
   echo "Zugriff fehlgeschlagen";
   }
?>

Als erstes wird im obigen Script die Daten des Formulars mittels $_POST abgefragt und in den entsprechenden Variablen gespeichert. Falls ihr unseren interaktiven Editor benutzt, drückt auf $ um die Werte der beiden POST-Variablen zu bearbeiten.

Mit einer if-Anweisung und dem logischen Operator AND wird danach überprüft, ob $username den Inhalt Nils und $passwort den Inhalt php-einfach hat. Nur wenn beide Eingaben richtig sind, wird die Nachricht Zugriff erlaubt dargestellt. Statt dieser simplen Nachricht könntet ihr dort auch eine geheime, interne Seite verstecken. Und schon hättet ihr einen entsprechenden Passwortschutz auf eurer Seite. Eine komplette Anleitung für eine Registrierung mit Login findet ihr in unserem Artikel Loginscript.

Autor: Nils Reimers
Zurück: Vergleichsoperatoren in PHP
Weiter: Übungsaufgaben

PHP Tutorial

  • Installation
  • Webspace
  • Erste Schritte
  • Text ausgeben per echo
  • Kommentare
  • Variablen
  • Rechnen mit Variablen
  • $_GET und $_POST
  • if-Anweisungen
  • Vergleichsoperatoren
  • Logische Operatoren
  • Übungsaufgaben
  • while-Schleife
  • for-Schleife
  • Arrays
  • Dateien lesen
  • Dateien schreiben
  • Datum und Uhrzeit
  • E-Mails mit PHP versenden
  • Suchen und Ersetzen
  • Sessions
  • Eigene Funktionen
  • Andere PHP Dateien einbinden
  • Dateiupload
  • Cookies
  • Konstanten
  • Reguläre Ausdrücke
  • Überblick: Wichtige PHP Funktionen
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur

Hoster – Geringste Ausfallzeit

  1. netcup Ø 0 Min.
  2. webgo Ø 0 Min.
  3. Linevast Ø 3 Min.
  4. All-Inkl.com Ø 3 Min.
  5. checkdomain Ø 4 Min.
  6. dogado Ø 6 Min.
  7. Strato Ø 8 Min.
  8. manitu Ø 10 Min.
  9. 1&1 Ø 10 Min.
  10. DomainFactory Ø 14 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2025

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}