mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-20 02:05:05 +02:00
336 lines
13 KiB
HTML
336 lines
13 KiB
HTML
<html>
|
|
<head>
|
|
|
|
<title>PHP-Einfach.de - PHP Einführung - Logische Operatoren</title>
|
|
<meta name="Author" content="Andavos">
|
|
<meta name="Publisher" content="Andavos">
|
|
<meta name="Copyright" content="Andavos">
|
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
|
</head>
|
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
|
|
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td align="center" valign="middle" height="100%" width="100%">
|
|
|
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
|
<a name="oben"></a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|
|
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="5"></td>
|
|
<td class="black" height="100" width="150">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
|
|
|
|
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
|
|
|
|
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
|
|
|
|
|
<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>»</b> Anfang</a><br>
|
|
<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>»</b> Erste Schritte</a><br>
|
|
<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>»</b> Variablen</a><br>
|
|
<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>»</b> if-Anweisung</a><br>
|
|
<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>»</b> Log. Operatoren</a><br>
|
|
<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>»</b> Übung</a><br>
|
|
<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>»</b> Dateien</a><br>
|
|
<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>»</b> Schleifen</a><br>
|
|
<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>»</b> Array</a><br>
|
|
<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>»</b> Dateien Teil 2</a><br>
|
|
<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>»</b> Datum & Zeit</a><br>
|
|
<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>»</b> Mail Funktion</a><br>
|
|
<div style="position: relative; left:15;" >
|
|
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>»</b> Suchen & Ersetzen</a><br>
|
|
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>»</b> Nützliche Funktionen</a><br>
|
|
</div>
|
|
<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>»</b> Sessions</a><br><br>
|
|
|
|
|
|
|
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
|
|
|
<br>
|
|
<center>
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
|
|
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
|
|
|
</a>
|
|
</center>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</td>
|
|
<td height="100" width="5"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
|
|
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="10"></td>
|
|
<td valign="top" class="black" height="100" width="410">
|
|
<br>
|
|
<h4>Logische Operatoren</h4>
|
|
|
|
Oft reicht es nicht aus, nur eine Bedingung zu überprüfen. Wenn man z.B. eine
|
|
Passwortabfrage macht, möchte man wissen ob der Benutzername <b>und</b> das Passwort
|
|
richtig sind.
|
|
<br><br>
|
|
|
|
Deshalb kann man in PHP mehrere Bedingungen miteinander verknüpfen. Natürlich kann man mehrere if-Anweisungen benutzen, aber wenn man z.B. 5 Bedingungen überprüfen möchte, wäre dies doch sehr unübersichtlich.
|
|
<br><br>
|
|
|
|
Für diesen Zweck gibt es die <b>logischen Operatoren</b>.<br>
|
|
Hiermit können wir beliebig viele Bedingungen verschiedenst miteinander Verknüpfen.
|
|
<br><br>
|
|
|
|
Eine Passwortabfrage zum Beispiel würde dann so aussehen:
|
|
<br>
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$username = "Nils";
|
|
$passwort = "php-einfach";
|
|
|
|
if($username=="Nils" <b>AND</b> $passwort=="php-einfach")
|
|
{
|
|
echo "Zugriff erlaubt";
|
|
}
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Hier werden <b>$username</b> und <b>$passwort</b> gemeinsam überprüft.
|
|
Nur wenn beide Eingaben stimmen, wird der Zugriff erlaubt.
|
|
<br><br>
|
|
|
|
Die Verbindung der beiden Bedingungen erfolgt über den Operator <b>AND</b> (und).
|
|
Das selbe Ergebnis erzielt man mit <b>&&</b>. Welche Schreibweise man letztendlich
|
|
verwendet ist egal. Ich bevorzuge <b>AND</b>, da es intuitiver aussieht.
|
|
<br><br>
|
|
|
|
Es gibt immer wieder Fälle, wo es reicht, dass nur eine Bedingung erfüllt ist.<br>
|
|
Dafür gibt es den Operator <b>OR</b> (oder), manchmal wird er auch als <b>||</b> geschrieben:
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$username = "Nils";
|
|
$passwort = "php-einfach";
|
|
|
|
if($username=="Nils" <b>OR</b> $passwort=="php-einfach")
|
|
{
|
|
echo "Zugriff erlaubt";
|
|
}
|
|
?>
|
|
</pre>
|
|
</font>
|
|
Diese <b>IF-Anweisung</b> ist auch dann erfüllt, wenn nur <b>eine</b> der beiden
|
|
Bedingungen erfüllt ist. Zugegeben für eine Passwortabfrage macht das eher weniger Sinn, aber dazu später mehr.
|
|
<br><br>
|
|
|
|
Auch wenn bei OR <b>beide</b> Bedingungen erfüllt sind, erhalten wir als Ausgabe
|
|
<i>Zugriff erlaubt</i>.
|
|
<br><br>
|
|
|
|
Man könnte eine Passwortabfrage auch für mehrere Personen erstellen, dazu verknüpfen wir die verschiedenen Operatoren einfach:
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$username = "Nils";
|
|
$passwort = "php-einfach";
|
|
|
|
if( ($username=="Nils" AND $passwort=="php-einfach")
|
|
OR
|
|
($username=="Paul" AND $passwort=="geheim") )
|
|
{
|
|
echo "Zugriff erlaubt";
|
|
}
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Hier hätten nur <i>Nils</i> mit dem Passwort <i>php-einfach</i> <b>oder</b> <i>Paul</i> mit dem Passwort <i>geheim</i> zugriff.
|
|
Ein <i>Nils</i> der als Passwort z.B. <i>geheim</i> eingibt, hätte keinen Zutritt.<br><br>
|
|
|
|
Es gibt jedoch noch die dritte Variante des logischen Operators, dabei <b>darf nur eine
|
|
Bedingung wahr</b> sein.
|
|
<br><br>
|
|
|
|
Diese Variante nennt sich <b>exklusives oder</b> und wird wie folgt geschrieben:
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$username = "Nils";
|
|
$passwort = "php-einfach";
|
|
|
|
if($username=="Reimers" <b>XOR</b> $passwort=="php-einfach")
|
|
{
|
|
echo "Zugriff erlaubt";
|
|
}
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Jetzt wird nur dann die Anweisung ausgeführt, wenn die Variable <b>$username</b>
|
|
den Inhalt <i>Reimers</i> hat, <b>oder</b> die Variable <b>$passwort</b> den Inhalt
|
|
<i>php-einfach</i> hat. Sind beide Inhalte richtig angeben, erfolgt kein Zugriff.
|
|
<br><br>
|
|
|
|
Dieses "entweder oder" wird <b>XOR</b> geschrieben.
|
|
<br><br>
|
|
|
|
Noch mal:<br>
|
|
Bei <b>AND</b> müssen <b>beide</b> Bedingungen erfüllt sein<br>
|
|
Bei <b>OR</b> muss mindestens <b>eine</b> Bedingung erfüllt sein<br>
|
|
Bei <b>XOR</b> darf nur <b>eine</b> Bedingungen erfüllt sein<br><br>
|
|
|
|
<hr noshade size="1">
|
|
Für eine echte Passwortabfrage würde man die Variablen <b>$username</b> und <b>$passwort</b> per Formular eingeben.<br><br>
|
|
Dazu benötigen wir zuerst wieder ein Formular mit zwei <b>Input-Feldern</b>.<br>
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<form action="seite2.php" method="post"<br>
|
|
Username:<br>
|
|
<input type="Text" name="username"><br>
|
|
Passwort:<br>
|
|
<input type="Password" name="passwort"><br>
|
|
<input type="Submit" value="Absenden"><br>
|
|
</form>
|
|
</pre>
|
|
</font>
|
|
|
|
In diesem Formular gibt man dann den <b>Username</b> und das <b>Passwort</b> ein.
|
|
Klickt man danach auf Absenden, wird <b>seite2.php</b> aufgerufen und an diese beide
|
|
Eingaben übergeben.
|
|
<br><br>
|
|
|
|
<b>seite2.php</b> muss dann so aussehen:<br><br>
|
|
|
|
<font color="#606060">
|
|
<pre>
|
|
<?php
|
|
$username = $_POST["username"];
|
|
$passwort = $_POST["passwort"];
|
|
|
|
if($username=="Nils" AND $passwort=="php-einfach")
|
|
{
|
|
echo "Zugriff erlaubt";
|
|
}
|
|
else
|
|
{
|
|
echo "Zugriff fehlgeschlagen";
|
|
}
|
|
?>
|
|
</pre>
|
|
</font>
|
|
|
|
Als erstes Fragen wir die eingegebenen Daten ab.
|
|
<br>
|
|
Diese Eingaben werden in den Variablen <b>$username</b> und <b>$passwort</b> gespeichert.
|
|
<br><br>
|
|
|
|
Mit einer <b>if-Anweisung</b> und dem logischen Operator <b>AND</b> wird abgefragt, ob
|
|
<b>$username</b> den Inhalt <i>Nils</i> <b>und</b> <b>$passwort</b> den Inhalt
|
|
<i>php-einfach</i> hat.
|
|
<br>
|
|
|
|
Nur wenn beide Eingaben richtig sind, kommen wir in den internen Bereich.<br><br>
|
|
|
|
<a href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php">Dann wollen wir mal etwas üben</a> <br><br>
|
|
|
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
|
|
|
|
|
|
|
|
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
|
</td>
|
|
<td height="100" width="10"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|
|
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|
<tr>
|
|
<td height="100" width="5"></td>
|
|
<td valign="top" class="black2" height="100" width="150">
|
|
|
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
|
|
|
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
|
<br><br>
|
|
|
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
|
<br><br>
|
|
|
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
|
|
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
|
|
|
|
|
<br> <br>
|
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
|
</td>
|
|
<td height="100" width="5"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |