Tag-Archiv für » ausgabe «

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) |

Operatoren

Dienstag, 29. November 2011 12:28

Arithmetiche Operatoren

Wir können php auch dazu bringen zu rechnen, was natürlich sinnvoll und auch ständig benutzt wird. Wir haben Variablen kennengelert, die wir mit einem Inhalt gefüllt hatten. Bei Rechenoperationen sollten wir darauf achten, das wir Zahlen nicht in Anführungszeichen setzen. Eine Variable $test die deklariert wirt $test = “1″;, hat einen String (Zeichenkette) als Inhalt, was wir jedoch brauchen ist z.B. ein Integer (int). Um das zu realisieren deklarieren wir eine Variable mit einer Zahl als inhalt $test = 1; .

Welche Rechen-Operatoren stehen uns zur Verfügung ?
+ =(addition) - =(subtraktion) / = (division) * = (multiplikation) % = (Modulo) Modulo-Operation, also der Rest einer Ganzzahldivision.

Ich möchten nun eine kleines Beispiel demonstrieren.

<?php

$a = 16;
$b = 8;
$c = 4;

$x = $a / $b + $c * 2;

echo "Das Ergebis ist $x"; 

?>

Die Ausgabe währe:

Das Ergebnis ist 10

Auch hier gilt die Regel “Punktrechnung geht vor Strichrechnung“. Es wurde folgendes Berechnet : (16 / 8 = 2) + (4 * 2 = 8 ) = 10 .
Um unsere Rechnung etwas übersichtlicher zu gestalten, hätten wir den Code auch folgendermaßen schreiben können.

<?php

$a = 16;
$b = 8;
$c = 4;

$x = ($a / $b) + ($c * 2);
echo "Das Ergebis ist $x"; 

?>

Die Ausgabe währe erneut:

Das Ergebnis ist 10

Zeichenkettenoperator

Der Zeichenkettenoperator ist ein ganz einfacher Operator, der das Zusammenfügen von Zeichenketten ermöglicht. Dieser Operartor wird häufig benutzt um inhalte aus mehreren Variablen in einer zusammen zu fassen, wobei die anderen Variablen ihre Gültigkeit nicht verlieren.

Beispiel:

<?php

$name = "Tuff";
$titel = "Dr. ";

$anrede = $titel.$name; // hier werden die Varibalen zusammengefügt 

echo $anrede; // Die Ausgabe der zusammengefügten Variable $anrede 

?>

Die Ausgabe währe:

Dr. Tuff

Behandeln wir mal ein anderes Beispiel, wo Math. Operatoren auch mit eine Rolle spielen.

<?php

$waehrung = ".- Euro";
$schulden = 1200;
$bezahlt = 324;
$text = "Restschuld ";

$x = 1200 - 324;
echo $text.$x.$waehrung; // hier wird alles zusammengesetzt und ausgegeben 

?>

Die Ausgabe währe:

Restschuld 876.- Euro

Zuweisungsoperator

Wir haben diesen Operator mehrmals schon benutzt, ohne zu wissen was es ist. Sehen wir uns ein Teil des letzten php-Cods an. $text = “Restschuld”; hier haben wir den Zuweisungsoperator benutzt, Ihr ahnt es sicher schon. Es ist wie erwartet das Gleichheits-Zeichen “=”. Damit haben wir der Variable einen Wert zugewiesen.

Der Zuweisungsoperator kann mit dem arthmetischen und dem Zeichenkettenoperator kombiniert werden. += , -= , *= , /= , %= , .=

Sehen wir uns dieses mal in einem Beispiel an.

<?php

$b = 5;
$a += 16; // bedeutet $a = $a +3
$a %= $b; // bedeutet $a = $a % $b
$a .= $b; // bedeutet $a = $a . $b 

echo $a; // Die Ausgabe des Inhalts von $a
?>

Die Ausgabe währe:

15

Wie kommen wir jetzt auf das ergebnis 15 ?
Das ist ganz einfach, wenn wir uns die Zeilen mal nach der Reihe her anschauen, in der dritten Zeile weisen wir $b den Wert (int)5 zu, in der vierten Zeile bekommt $a den Wert (int)16, in der fünften Zeile Rechnen wir 16 / 5 = 3 Rest 1, also hat zu diesem Zeitpunkt $a den wert (int)1 und in der sechten Zeile verbinden wir die Variablen $a und $b in einer Variable $a, also 1 und 5 zusammengeschrieben ergibt halt 15. Die Zeile mit echo $a; brauch ich ja nicht mehr zu beschreiben denken ich.

Inkrement und Dekrement
Häufig verwenden wir Operatoren, bei denen wir eine zahl +1 addieren. Da gibt es eine bessere Lösung für, die in fast jeder Programmiersprache zu finden ist.

Ein Beispiel

<?php

$a = 5;
$a++; // rechnet 5 + 1
echo $a;
echo "<br>"; // Zeilenumbruch
$b = 9;
$b--; // rechnet 9 - 1
echo $b;
?>

Die Ausgabe währe:

6
8

Bei diesem Operator, gibt es auch die Möglichkeit, die Addition oder Subtraktion vor der Variable anzugeben z.B. –$a oder ++$a. Dieses würde bei unserem Beispiel hier keine Änderung am Ergebnis erwirken, hat aber auch seinen nutzen, wo wir später darauf zurückkommen werden.

| Kommentare (0) |

For Schleife

Dienstag, 29. November 2011 12:14

Was ist eine FOR Schleife und wozu ist sie gut ?

Eine Schleife, wie der Name schon sagt, durchläuft eine funktion x mal.
Dieses können Anweisungen, Aufzählungen oder Zuweisungen sein. Dazu mal ein kleines Beispiel.

<?php

    for($a = 1;$a < 11;$a++) { // Schleifenkopf

        echo " \$a ist jetzt $a <br>";
    } 

?>

Unsere Ausgabe währe

$a ist jetzt 1
$a ist jetzt 2
$a ist jetzt 3
$a ist jetzt 4
$a ist jetzt 5
$a ist jetzt 6
$a ist jetzt 7
$a ist jetzt 8
$a ist jetzt 9
$a ist jetzt 10

Wir haben im Schleifenkopf die Variable $a mit dem Inhalt 1 gefüllt, angewiesen das die Schleife durchlaufen wird, solange $a < (kleiner) als 11 ist, und wir haben gesagt, das immer wenn die Schleife neu durchlaufen wird $a +1 addiert wird $a++. Warum haben wir nicht $a < 10 geschrieben ? Das sit ganz einfach die Schleife wird NICHT mehr durchlaufen, wenn $a 11 ist also $a < 11, denn sonst währe es ja nicht kleiner sondern gleich, und da die letzte Zahl vor 11 nun mal 10 ist, läuft es auch nur bis 10.

Hier mal ein anderes Beispiel

<?php
for($a=0;$a < 10;$a++) {

      $c = $a +$a; // hier wird das addierte Ergebnis in $c gespeichert
      echo "$a + $a = $c <br>" ; // Die Ausgabe 

}
?>

Unsere Ausgabe währe

0 + 0 = 0
1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18

Was ist hier anders ?
Wir haben in der Schleife addiert, und zwar den aktuellen Wert von $a mit $a und haben das Ergebnis in $c gepeichert und diese Zeile für Zeile ausgegeben. Die Variable $c wurde bei jedem durchlaufen der Schleife mit dem neuen Ergebnis überschrieben.

Noch ein Beispiel

<?php
$b = 5;
for($a=0;$a < 10;$a++) {

      $c = $a +$b; // hier wird das addierte Ergebnis in $c gespeichert
      echo "$a + $b = $c <br>" ; // Die Ausgabe
      $b++;// hier wird der aktuele Stand von $b mit 1 addiert
}
?>

Unsere Ausgabe währe

0 + 5 = 5
1 + 6 = 7
2 + 7 = 9
3 + 8 = 11
4 + 9 = 13
5 + 10 = 15
6 + 11 = 17
7 + 12 = 19
8 + 13 = 21
9 + 14 = 23

In diesem Beispiel haben wir innerhalb der Schleife 2 Zahlen aufgezählt $a und $b, wobei $b zu anfang mit 5 begonnen hat und bei jeden durchlaufen der Schleife +1 gerechnet wurde. Die Schleife wurde beendet als $a den wert 10 erreicht hatte, und somit wurde der letzte Durchlauf gemacht als $a noch 9 war.

| Kommentare (0) |

Die erste Ausgabe

Dienstag, 29. November 2011 7:39

Hello World

Wie sollte jetzt nun unser erstes Beispiel im Code aussehen. Um eine Ausgabe auf dem Bildschirm (Explorer) zu erreichen, brauchen wir den befehl echo, Ihr könnt auch als alternative print benutzen, diese print Anweisung kennen sicher einige noch aus Basic oder anderen Programmiersprachen. Ok wir wollen erreichen, das in dem Explorer “Hallo World” erscheint, dazu legen wir uns eine Datei mit dem Namen hallo.php an und schreiben folgenden Code hinein.

<?php

echo "Hallo World";

?>

Ruft in eurem Browser folgendes auf “http://localhost/hallo.php”
Die Ausgabe in unserem Browser-Fenster lautet.

Hello World

Wir könnten unseren Code auch anders darstellen, Ihr solltet dabei auf Lesbarkeit achten. Die anweisung echo kann auch anders dargestellt werden.

<?php echo"Hallo World"; ?>
// ist auch möglich
<?= "Hallo World"; ?>
// eine Kurzform die selten benutzt wird

Die Ausgabe bei beiden Zeilen währe, wenn sie denn in der selben Datei “hallo.php” geschrieben worden währe

Hallo WorldHallo World

Das sieht natürlich nicht so schön aus, wir hättest es gerne als Zweizeiler. Dazu kommen wir jetzt in unserem nächsten Schritt.

PHP und HTML kombinieren >>

| Kommentare (0) |