Tag-Archiv für » If «

IF und ELSE

Dienstag, 29. November 2011 14:19

Bedingungen prüfen mit If und Else

Das ist wohl einer der meistbenutzten Anweisungen in allen Programmiersprachen. Damit können wir z.B. vergleiche anstellen, ob der angegebene Wert richtig (True) oder falsch (False) ist.

genug der langen Worte, sehen wir uns ein kleines Beispiel an.

<?php
$name = "Hans"; // Variable wir mit Hans gefüllt 

if($name == "Hans") { // Abfrage ob der Inhalt = Hans ist
    echo "Es ist richtig"; // Wenn es richtig ist wird dieser Text ausgeben
}
else { // Wenn der Inhalt nicht = Hans ist wird diese Schleife durchlaufen
    echo "Es ist falsch"; // Die Ausgabe wenn ungleich
}
?>

Die Ausgabe währe:

Es ist richtig

Ist es euch auch eigenartig vorgekommen, das wir bei der IF Abfrage ein doppeltes Gleichheitszeichen == benutzt haben ?.
Da kann ich euch helfen, wie wir bereits gelernt haben, benutzen wir ein = für die Zuweisung ($name = “Hans”; ), also können wir damit nicht abfragen ob es eine Übereinstimmung gibt, sondern würden die Variable neu überschreiben (bechreiben) und die abfrage währe True also richtig und somit würde die erste Schleife durchlaufen, was natürlich ein Fehler währe.

Eine Liste von Verglaichsoperatoren:

<?php
$a == $b // true, wenn $a gleich $b ist
$a != $b // true, wenn $a ungleich $b ist
$a < $b // true, wenn $a kleiner als $b ist
$a > $b // true, wenn $a größer als $b ist
$a <= $b // true, wenn $a kleiner oder gleich $b ist
$a >= $b // true, wenn $a größer oder gleich $b ist
$a % $b // true, wenn $a eine ungerade Zahl ist
?>

Wir können damit auch einen Passwortgeschüzte Datei erstellen, wo erst die Datei weiter ausgeführt wird wenn das Passwort stimmt. Ich möchte dazu noch sagen, das es nicht besonders sicher ist.

Sehen wir uns einmal ein Beispiel an.

Unsert HTML Formular

<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
    <form name="form1" method="post" action="ifelse1.php">
        <input type="text" name="pwd">
        <input type="submit" name="Submit" value="Senden">
</form>
</body>
</html>

Jetzt brauchen wir noch die php – Datei um zu sehen ob unsere Eingabe richtig ist.

Das Beipsiel sieht so aus:

<?php

$passwort = "blubb"; // Unser Passwort
$pwd = $_POST['pwd']; // Die daten vom Formular in $pwd übernehmen 

if($passwort == $pwd) { // Abfrage ob die eingabe übereinstimmt
    echo "Die Eingabe ist richtig!"; // Wenn es übereinstimmt
}
else {
    echo "Die Eingabe ist falsch!"; // Wenn es nicht übereinstimmt
}
?>

Die Ausgabe währe:

Die Eingabe ist richtig!

oder

Die Eingabe ist falsch!

Das ist wie gesagt kein ultimativer Schutz, aber kann den einen oder anderen schon davon abhalten dieses Skript aus zu führen.

Wir haben auch die Möglichkeit unsere if else Anweisung etwas mehr auszubauen, dazu können wir z.B. elseif benutzen. Das hat den Vorteil das wir nicht nur eine Anweisung prüfen, sondern wir können mehrere abfragen starten.

Unser Formular:

<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
    <form name="form1" method="post" action="ifelse2.php">
        <input type="text" name="pwd">
        <input type="submit" name="Submit" value="Senden">
    </form>
</body>
</html>

Und unsere PHP Datei:

<?php
$passwort = "blubb"; // Unser Passwort
$pwd = $_REQUEST['pwd']; // Die daten vom Formular in $pwd übernehmen 

if($passwort == $pwd) { // Abfrage ob die eingabe übereinstimmt
    echo "Die Eingabe ist richtig!"; // Wenn es übereinstimmt
}
elseif ($pwd == "blubber"){
    echo "Du hast Blubber eingegeben "; // oder wenn Du blubber eingibst
}
else {
    echo "Die Eingabe ist falsch!"; // Wenn keines übereinstimmt
}
?>

Die Ausgabe währe
- wenn wir “blubber” schreiben “Du hast Blubber” eingegeben
- wenn wir das richtige Passwort eingeben “Die Eingabe ist richtig!”
- wenn keines übereinstimmt natürlich “Die Eingabe ist falsch!”.

Ich möchte dieses Thema nicht weiter behandeln, da ich glaube, das Ihr es besser lernt, wenn Ihr es auch selber testet. Ihr könnt beliebig viele elseif abfragen hinzufügen, was aber euren Code unnötig in die länge ziehen würde, mir fällt jetzt auch Nichts ein, wo man solch viele Abfragen benutzt.
Mein TIPP in der Kürze liegt wie Würze.

| Kommentare (0) |