Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue...

18
Informatikdienste, IT Fort und Weiterbildungen Einführung in PHP 5 Handouts zur Online Einführung (t.uzh.ch/php) David Meier (Überarbeitet von Daniel Förderer) Version 2019, 1.2

Transcript of Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue...

Page 1: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

Informatikdienste, IT Fort und Weiterbildungen

Einführung in PHP 5Handouts zur Online Einführung (t.uzh.ch/php)

David Meier (Überarbeitet von Daniel Förderer)

Version 2019, 1.2

Page 2: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

2019, 1.2

Inhalt 1. PHP-Syntax ........................................................................................................... 1

2. Einfache Datenausgabe: Hallo Welt ...................................................................... 1

3. Variablen .............................................................................................................. 2

4. Einfache und doppelte Anführungszeiten .............................................................. 2

5. Arrays (Variablensammlungen) ............................................................................. 3

a. Was ist ein Array? ............................................................................................. 3

b. Array füllen ........................................................................................................ 3

c. Ausgabe einzelner Werte des Arrays ................................................................ 3

d. Ausgabe der Arraywerte mit Hilfe einer FOR-Schleife ...................................... 4

e. Array Inhalt anschauen ..................................................................................... 5

f. Array löschen .................................................................................................... 5

6. Assoziative Arrays ................................................................................................. 6

a. Was ist ein assoziativer Array? ......................................................................... 6

b. Assoziativen Array füllen ................................................................................... 6

c. Ausgabe einzelner Werte des assoziativen Arrays ........................................... 6

d. Ausgabe der Array-Werte mit Hilfe einer FOREACH-Schleife .......................... 7

e. Inhalt von assoziativem Array anschauen ......................................................... 7

7. Webformulare ........................................................................................................ 8

a. HTML-Formular mit POST (form1.html) ............................................................ 8

b. PHP-Programmfile mit POST (ausgabe1.php) ................................................. 8

c. HTML-Formular mit GET (form2.html) .............................................................. 9

d. PHP-Programmfile mit GET (ausgabe2.php) .................................................... 9

8. Bedingungen mit IF-ELSE ................................................................................... 10

a. Die Syntax von IF-ELSE ................................................................................. 10

b. Prüfen ob eine Variable leer ist mit empty() .................................................... 10

Page 3: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

9. Webformulare 2 ................................................................................................... 11

a. Formular und Ausgabe im gleichen PHP-Skript (form.php) ............................ 11

b. Prüfen, ob beide Felder gefüllt sind (form2.php) ............................................. 11

c. Das Mitarbeitenden Eingabeformular (form3.php) .......................................... 12

10. Rechen- und Textoperatoren .............................................................................. 13

a. Aufgabe 1: Kapitalverzinsung (kapital.php) .......................................... 13

11. Vergleichs-Operatoren ........................................................................................ 14

12. Logische Operatoren ........................................................................................... 14

13. PHP-Programm als Datei einfügen ..................................................................... 15

a. Die Datei fusszeile.php ........................................................................ 15

b. Verwendung von fusszeile.php in kapital.php ...................................... 15

14. Literatur ............................................................................................................... 15

Page 4: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

1. PHP-Syntax

PHP-Code lässt sich direkt in html-Seiten hineinschreiben. Um den PHP-Code von html zu unterscheiden werden

sogenannte PHP-Blöcke verwendet. Normalerweise wird dabei folgende Syntax verwendet:

<!DOCTYPE html><html>

<head><title>Seitentitel</title>

</head><body>

<?php .... .... ....?>

</body></html>

2. Einfache Datenausgabe: Hallo Welt

Der echo-Befehl gibt Texte (sogenannte Strings) aus:

<!DOCTYPE html><html><head><title>Unser erstes PHP-Skript</title></head><body>

<?php echo 'Hallo Welt';?>

</body></html>

Resultat (hallo_welt.php)

Merke: Alle PHP-Befehle werden mit ";" abgeschlossen.

Im Folgenden werden wir uns der Einfachheit halber ganz auf PHP konzentrieren und alle entbehrlichen html-Tags

weglassen (<html>,<head>,<title>..)

1

Page 5: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

3. Variablen

Für dynamische Webseiten braucht es Variablen. Dabei handelt es sich um Platzhalter, die mit Werten nach der

Logik des PHP-Programmes gefüllt werden.

Merke: Variablennamen beginnen mit $.

<?php$name = 'Elia';$vorname = 'Gion';echo $vorname,' ',$name;

echo '<br>';

$i = 5;$y = 100;echo $i, '+', $y, '=', $i+$y;?>

Resultat (variablen.php)

Bemerkungen:

Textwerte müssen in Anführungs- und Schlusszeichen geschrieben werden, Zahlenwerte nicht.

Wir sehen im Beispiel bereits, dass mit Variablen gerechnet werden kann. Hier wurden die zwei Variablen $i und

$y summiert.

4. Einfache und doppelte Anführungszeichen

Als Anführungs- und Schlusszeichen haben wir bisher immer die einfachen Anführungszeichen verwendet. In all

diesen Fällen hätten wir auch doppelte Anführungszeichen nehmen können. Im Zusammenhang mit den Variablen

gibt es jodoch einen wichtigen Unterschied zwischen den Beiden:

<?php$name = 'Meier';$vorname = 'Gion';

echo $vorname,' ',$name;

echo '<br>';

echo "$vorname $name";

echo '<br>';

echo '$vorname $name';?>

Resultat (quotes.php)

Wenn wir das Resultat von quotes.php anschauen, sehen wir, dass Variablen zwischen doppelten

Anführungszeichen ausgewertet werden, Variablen zwischen einfachen Anführungszeichen hingegen nicht.

2

Page 6: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

5. Arrays (Variablensammlungen)

5.a Was ist ein Array?

Neben den bisher vorgestellten Variablen gibt es in PHP auch das Konstrukt der Arrays. Darunter kann man sich

eine Variablensammlung oder -liste vorstellen. In unserer Tabelle mitarbeitende wird für jede Person ID,Vorname,

Name, Kuerzel, Email und Lohn erfasst.

Wir haben da unter Anderem den Eintrag von Hans Brugger:

mitarbeitendeid vorname name kuerzel email lohn

4 Hans Brugger brug [email protected]. 6400.75

... ... ... ... ... ...

Diese Infos werden wir nun in einem Array mit Namen $person zusammen abgespeichern:

5.b Array füllen

Methode 1

$person = [ 4, 'Hans','Brugger','brug','[email protected]','6400.75' ];

Methode 2

$person[] = 4;$person[] = 'Hans';$person[] = 'Brugger';$person[] = 'brug';$person[] = '[email protected]';$person[] = '6400.75';

Ein solcher Array wird von PHP automatisch indiziert, so das wir im obigen Beispiel eindeutig zuweisbare

Arrayelemente haben, die von 0 beginned nummeriert werden, nämlich:

array: $personIndex 0 1 2 3 4 5

Wert 4 Hans Brugger brug [email protected]. 6400.75

5.c Ausgabe einzelner Werte des Arrays

Um nun einzelne Element zum Beispiel die ID (Index=0) und den Vornamen (Index=1) aus dem Array

herauszuholen, verwenden wir folgende Syntax:

echo "ID: $person[0]";echo "Vorname: $person[1]";

3

Page 7: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

Bauen wir das Ganze nun mit der Methode 1 zu einem kleinen Programm zusammen (siehe Code der anderen

Methoden unten).

$person = [ 4, 'Hans','Brugger','brug','[email protected]','6400.75' ];

echo "ID: $person[0]<br>";echo "Vorname: $person[1]<br>";echo "Name: $person[2]<br>"; echo "Kuerzel: $person[3]<br>"; echo "Email: $person[4]<br>";echo "Lohn: $person[5]<br>";

Resultat (person_array_m1.php)Code Methode 1Code Methode 2

5.d Ausgabe der Arrayelemente mit Hilfe einer FOR-Schleife

Im obigen Beispiel wird jedes Element explizit ausgegeben, was nicht besonders elegant ist. Wir lernen jetzt eine

Methode, wie alle Elemente eines Arrays automatisch ausgegeben werden können. Dazu brauchen wir eine

sogenannte Schleife, die uns die Wiederholung eines Vorganges anhand vorgegebener Parameter ermöglicht.

Dazu ein Beispiel:

for ($i=1;$i<=5;$i++){ echo "ich erscheine das $i te mal<br>";}

Resultat (for_schleife1.php)Code

Mit Hilfe einer solchen For-Schleife kann jetzt auch unser Array ausgelesen werden:

$person = [ 4, 'Hans','Brugger','brug','[email protected]','6400.75' ];

for ($i=0;$i<6;$i++){ echo "$person[$i]<br>";}

Resultat (for_schleife2.php)Code

Wenn nicht bekannt ist, wieviele Elemente ein Array enthält, muss mit der count()-Funktion gearbeitet werden, um

die Anzahl Elemente des Arrays zu bestimmen. Obwohl wir bei "unserem Array" $person die Anzahl Elemente

kennen, setzen wir trotzdem count() ein, damit sie sehen wie das geht:

for ($i=0;$i<count($person);$i++){

echo "$person[$i]<br>";

}

4

Page 8: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

5.e Array Inhalt anschauen

Um schnell mal den Inhalt eines Array anzuschauen, kann die folgende Funktion angewandt werden:

$person = [ 4, 'Hans','Brugger','brug','[email protected]','6400.75' ];

echo '<pre>';var_export($person);echo '</pre>;

Resultat:

array ( 0 => 4, 1 => 'Hans', 2 => 'Brugger', 3 => 'brug', 4 => '[email protected]', 5 => 6400.75,)

var_export wird hauptsächlich beim Programmieren gebraucht, wenn nicht ganz klar ist, ob ein Array die richtigen

Daten enthält.

5.f Array löschen

Um ein Array wieder zu löschen wählen Sie:

unset($person);

5

Page 9: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

6. Assoziative Arrays

6.a Was ist ein assoziativer Array?

Bei einem assoziativen Array handelt es sich um eine "Sammlung" von Schlüssel-/Wertepaaren. Um zu zeigen

worum es sich handelt, nehmen wir wieder den von vorher bekannten Hans Brugger aus unserer mitabeitenden-

Tabelle.

mitarbeitendeid vorname name kuerzel email lohn

4 Hans Brugger brug [email protected]. 6400.75

... ... ... ... ... ...

Anstatt einer Zahl geben wir jedem Datenbankfeld den Feldnamen als Index oder Schlüssel, wie es bei den

assoziativen Arrays genannt wird. Es gibt wieder mehrere Methode einen assoziativen Array zu füllen.

6.b Assoziativen Array füllen

Methode 1

$person = [ 'id' => 4, 'vorname' => 'Hans', 'name' => 'Brugger', 'kuerzel' => 'brug', 'email' => '[email protected]', 'lohn' => 6400.75 ];

Methode 2

$person['id'] = 4;$person['vorname'] = 'Hans';$person['name'] = 'Brugger';$person['kuerzel'] = 'brug';$person['email'] = '[email protected]';$person['lohn'] = 6400.75;

6.c Ausgabe einzelner Werte des assoziativen Arrays

echo 'id: ', $person['id'], '<br>'; echo 'vorname: ',$person['vorname'],'<br>'; echo 'name: ', $person['name'], '<br>'; echo 'kuerzel: ',$person['kuerzel'],'<br>';echo 'email: ', $person['email'], '<br>';echo 'lohn: ', $person['lohn'], '<br>';

ResultatCode Methode 1 (assoziativer_array_m1.php)Code Methode 2 (assoziativer_array_m2.php)

6

Page 10: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

Den obigen assoziativen Array können wir uns auch bildlich vorstellen:

Assoz. array: $personSchlüssel id vorname name kuerzel email lohn

Wert 4 Hans Brugger brug [email protected]. 6400.75

6.d Ausgabe der Array-Werte mit Hilfe einer FOREACH-Schleife

Wie bei den "normalen" Arrays ist es auch bei den assoziativen Arrays manchmal für jedes Arrayelement ein

eigenes echo-Statement zu schreiben und es gibt auch eine automatische Methode der Ausgabe:

foreach($person as $schluessel => $wert){ echo "$schluessel: $wert <br>";}

Resultat (foreach_schleife.php)Code

Mit foreach wird das gesamte Array in einer Schlaufe durchlaufen und jedes Element ausgelesen. Wenn wir obige

Tabelle anschauen, so können wir uns vorstellen, dass eine Zeile nach der anderen gelesen und in ihre zwei

Zellen aufgeteilt wird.

6.e Inhalt von assoziativem Array anschauen

var_export kann auch auf assoziative Arrays angewendet werden:

$person = [ 'id' => 4, 'vorname' => 'Heinrich', 'name' => 'Müller', 'kuerzel' => 'Mue', 'email => '[email protected]', 'lohn' => 6400.75 ];

echo '<pre>';var_export($person);echo '</pre>;

Resultat:

array ( 'id' => 4, 'vorname' => 'Hans', 'name' => 'Brugger', 'kuerzel' => 'brug', 'email' => '[email protected]', 'lohn' => 6400.75,)

7

Page 11: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

7. Webformulare

Jetzt wollen wir schauen, wie in PHP assoziative Arrays benutzt werden um Daten aus Web-Formularen in PHP-

Programme übernehmen zu können.

Das dabei erworbene Wissen werden wir später brauchen im das Formaular zu erstellen, mit dem Mitarbeitende in

unsere Datenbank aufgenommen werden können: insert.php

7.a HTML-Formular mit POST (form1.html)

<form action='ausgabe1.php' method='post'> Vorname: <input name='vorname'><br> Name: <input name='name'><br> <input type='submit'></form>

7.b PHP-Programmfile mit POST (ausgabe1.php))

<?php $vorname = $_POST['vorname']; $name = $_POST['name']; echo "Danke! Die folgende Person wurde eingegeben:<br> Vorname: $vonname<br> Name: $name<br>";?>

Formular form1.htmlResultat ohne FormularCode ausgabe1.php

Wie man sieht werden die Daten aus den Formularfeldern Vorname und Name nach dem Abschicken des

Formulars in einem Assoziativen Array $_POST gespeichert.

Wenn ich zum Beispiel im Formular unter Vorname "Heinrich" und unter Name "Müller" eingegeben habe, sieht der

Inhalt des Assoziative Array $_POST folgendermassen aus:

Assoz. array: $_POSTSchlüssel vorname name

Wert Heinrich Müller

Bemerkung:

In obigem Formularcode wird das Schlüsselwort METHOD="POST" verwendet. Es handelt sich dabei um die

Übermittlungsmethode der Daten vom WWW-Browser zum WWW-Server. Neben der Methode POST existiert eine

zweiter Methode mit der Bezeichung GET.

8

Page 12: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

7.c HTML-Formular mit GET (form2.html)

<form action='ausgabe2.php' method='get'> Vorname: <input name='vorname'><br> Name: <input name='name'><br> <input type='submit'></form>

7.d PHP-Programmfile mit GET (ausgabe2.php))

<?php $vorname = $_GET['vorname']; $name = $_GET['name']; echo "Danke! Die folgende Person wurde eingegeben:<br> Vorname: $vonname<br> Name: $name<br>";?>

Formular form2.htmlResultat ohne FormularCode ausgabe2.php

Wenn Sie über das Formular einen Text abschicken, sehen Sie, dass dieser Text im URL als Variable mitgeschickt

wurde. Probieren Sie es nochmals aus!

Wenn ich auch in diesem Formular unter Vorname "Heinrich" und unter Nachname "Müller" eingegeben habe,

sieht der Inhalt des Assoziative Array $_GET folgendermassen aus:

Assoz. array: $_GETSchlüssel vorname name

Wert Hans Brugger

Wichtig:

An dieser Stelle nehmen wir einfach zur Kenntnis, dass es 2 Methoden für die Weiterreichung von

Formularinhalten an ein PHP-Programm gibt; POST und GET.

Bei GET werden die Daten über den URL mitgeschickt. Ja nach Situation kann dies ein Vorteil oder ein Nachteil

sein.

9

Page 13: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

8. Bedingungen mit IF-ELSE

8.a Die Syntax des IF-ELSE-Befehls

Bedingungen kann man mit dem IF-ELSE-Befehl formulieren

if(Bedingung){ Dann-Wert/Anweisung}else{ Sonst-Wert/Anweisung}

8.b Prüfen ob eine Variable leer ist mit empty()

Häufig muss geprüft werden, ob eine Variable leer oder gefüllt ist.

Dazu kann die Funktion empty() verwendet werden:

$name='Meier'; if(empty($name)){ echo "Die Variable ist leer"!; } else { echo "Die Variable ist gefüllt und hat folgnden Wert: $name!"; }

10

Page 14: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

9. Webformulare 2

Das neue Wissen wollen wir gleich in unserem Webformular anwenden.

9.a Formular und Ausgabe im gleichen PHP-Skript (form1.php)

Das neue Formular form1.php ruft sich nach dem Abschicken selber auf.

Deshalb können wir beim Attribut action die Servervariable $_SERVER['PHP_SELF'] brauchen, die den

Skriptnamen (in unserem Fall form1.php) enthält.

1.

Wenn wir das Formular aufrufen sind ist $_GET noch leer. Erst wenn wir Vorname und Name eingeben und

das Formular abschicken, enthält $_GET Daten.

Diesen Unterschied nutzen wir dazu, um entweder das Formular oder die Meldung "Danke! Sie haben..."

anzuzeigen:

2.

$php_self=$_SERVER['PHP_SELF'];if ( empty($_GET) ){

echo "<form action='$php_self' method='get'> Vorname: <input name='vorname'> Name: <input name='name'> <input type='submit'> </form>";

} else { $vorname = $_GET['vorname']; $name = $_GET['name']; echo "Danke! Die folgende Person wurde eingegeben:<br> Vorname: $vorname<br> Name: $name<br>";

}

Resultat (form1.php)

Dieses Wissen können wir anwenden, um unser Formular weiter zu verbessern.

9.b Prüfen, ob beide Felder gefüllt sind.

$php_self=$_SERVER['PHP_SELF']; if ( empty($_GET['vorname']) or empty($_GET['name']) ){ echo "<form action='$php_self' method='get'> Vorname: <input name='vorname'> Name: <input name='name'> <input type='submit'>"; } else { $vorname=$_GET['vorname']; $name =$_GET['name']; echo "Danke! Die folgende Person wurde eingegeben:<br> Vorname: $vorname<br> Name: $name<br>" }

Resultat (form2.php)

Wir haben hier den Oder-Operator 'or' benützt.

11

Page 15: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

9.c Das Mitarbeitenden Eingabeformular (form3.html)

Für das Kursbeispiel müssen wir ein Formular entwickeln, um Personen in die Datenbank aufzunehmen. Bis auf

das Einfügen der Daten sind wir jetzt fähig, dieses Formular zu entwickeln. Dazu machen wir folgende

Änderungen:

Wir ergänzen im Formular die Felder Kuerzel, Email und Lohn.1.

Um besser mit den Daten arbeiten zu können, füllen wir die Werte aus $_GET in normale Variablen um.

Damit wir keine lästigen Fehlermeldungen erhalten, arbeiten wir bei der Wertezuweisung zu den Variablen mit

dem Wenn-dann-Operator, der die folgende Syntax hat:

"Bedingung ? Wert wenn ja : Wert wenn nein".

Er wird bei "kleinen" Wenn-Dann-Entscheidungen anstelle der oben schon gezeigten IF-ELSE-Bedingung

angewendet.

2.

Wenn beim Abschicken des Formulars nicht alle obligatorischen Felder gefüllt sind, wird das Formular mit den

schon eingegebenen Feldwerten nochmals angezeigt

3.

$php_self=$_SERVER['PHP_SELF']; $vorname = empty($_GET['vorname']) ?'' : $_GET['vorname'];$name = empty($_GET['name']) ?'' : $_GET['name']; $kuerzel = empty($_GET['kuerzel']) ?'' : $_GET['kuerzel'];$email = empty($_GET['email']) ?'' : $_GET['email']; $lohn = empty($_GET['lohn']) ?'' : $_GET['lohn'];

if ( empty($vorname) orempty($name) orempty($nick) orempty($email) ){

echo "<form action='$php_self' method='get'> Vorname: <input name='vorname' value='$vorname'>;<br> Name: <input name='name value='$name'> <br>

Kuerzel: <input name='kuerzel' value='$kuerzel'> <br>Email: <input name='email' value='$email' ><br>Lohn: <input name='lohn' value='$lohn' ><br>

<input type='submit'>"; } else { $vorname = $_GET['vorname']; $name = $_GET['name'];

$nick = $_GET['nick'];$email = $_GET['email'];$lohn = $_GET['lohn'];

echo "Danke! Die folgende Person wurde eingegeben:<br> Vorname: $vorname<br> Name: $name<br>

Kuerzel: $kuerzel<br>Email: $email<br>Lohn: $lohn<br>";

}

Resultat (form3.php)

12

Page 16: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

10. Rechen- und Textoperatoren

Operator Bezeichnung Code Erklärung

+ Addition $i + $j

- Subtraktion $i - $j

* Multiplikation $i * $j

/ Division $i / $j

. Konkatenierung $i . $j $l = "langer";$k = "kurzer";$r = $l.$k;echo $rAusgabe: langerkurzer

Daneben gibt es wichtige Abkürzungen, die den Programmieraufwand verkürzen:

$i++; erhöht $i um 1.entspricht: $i = $i+1;

$i--; verkleinert $i um 1.entspricht: $i = $i-1;

10.a Aufgabe 1: Kapitalverzinsung (kapital.php)

Versuchen Sie das bisher Gelernte in folgender Aufgabe anzuwenden:

Sie haben ein Kapital, das mit einem konstanten Zinsfuss verzinst wird. Nun soll angezeigt werden, wie das Kapital

im Laufe von 4 Jahren wächst, wenn jeweils der Jahreszins auf das Kapital geschlagen wird.

Die Berechnung:

Für 1 Jahr: Kapital1 = Kapital*(1+Zinsfuss/100)

Für 2 Jahre: Kapital2 = Kapital1*(1+Zinsfuss/100)

Für 3 Jahre: Kapital3 = Kapital2*(1+Zinsfuss/100)

Für 4 Jahre: Kapital4 = Kapital3*(1+Zinsfuss/100)

Lösung:Resultat kapital.phpCode

13

Page 17: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

11. Vergleichs-Operatoren

Um mit einem Programm wirkungsvoll zu arbeiten, müssen wir einzelne Variablen auch miteinander vergleichen

können, dazu gibt es die Vergleichs-Operatoren:

Operator Bezeichnung Code-Beispiel Erklärung

== gleich $i == 10$name == 'Meier'

Ist $i gleich 10?Ist $name gleich Meier?

!= ungleich $i != 8$name != 'Jensen'

Ist $i ungleich 8?Ist $name ungleich Jensen?

> grösser als $i > 45 Ist $i grösser als 45?

< kleiner als $i < 23 Ist $i kleiner als 23?

>= grösser oder gleich $i >= 11 Ist $i grösser gleich 11?

<= kleiner oder gleich $i <= 9 Ist $i kleiner gleich 9?

? : Wenn, dann, sonst $i < 9 ? 'zu klein' : 'ok' Wenn $i kleiner als 9, dann "zu klein", sonst "ok"

Achtung: Verwechseln Sie nicht $i = 10 mit $i ==10! Im ersten Fall wird der Variable $i der Wert 10 zugewiesen,

im zweiten Fall wird $i mit 10 verglichen.

12. Logische Operatoren

Mit Hilfe der logischen Operatoren && (logisches UND) und ¦¦ (logisches ODER) kann man mehrere Bedingungen

miteinander verknüpfen. Mit dem logischen nicht ! kann der Wahrheitswert von Bedingungen umgedreht werden.

Operator Bezeichnung Code-Beispiel Erklärung

! nicht !($i == 'hallo') Ist $i nicht gleich hallo?

and und $i == 20 and $j == 30 Ist $i gleich 20und $j gleich 30?

or oder $i == 10 or $j == 40 Ist $i gleich 10oder $j gleich 40?

&& und $i == 20 && $j == 30 Ist $i gleich 20und $j gleich 30?

|| oder $i == 10 || $j == 40 Ist $i gleich 10oder $j gleich 40?

14

Page 18: Einführung in PHP 5 · 9.aFormular und Ausgabe im gleichen PHP-Skript (form1.php) Das neue Formular form1.php ruft sich nach dem Abschicken selber auf. Deshalb können wir beim Attribut

13. PHP-Programm als Datei einfügen

Um eine bessere Strukturierung zu erhalten, können (meist wiederverwendbare) Teile des PHP-Codes auch in

eine separate Datei geschrieben werden, die dann in das Hauptprogramm eingefügt wird. Der Befehl dazu lautet:

include("Dateiname");

Als Beispiel dazu erstellen wir eine Datei fusszeile.php, die wir in alle unsere Skripte einbauen können:

13.a Die Datei fusszeile.php

<?php $vorname_admin='Daniel'; $name_admin='Foerderer'; $email_admin='[email protected]';

echo "<br> <hr> Verantwortlicher: $vorname_admin $name_admin, $email_admin";?>

13.b Verwendung von fusszeile.php in kapital.php

$kapital=200000; $zinsfuss=5.3; $kapital1=$kapital*(1+$zinsfuss/100); $kapital2=$kapital1*(1+$zinsfuss/100); $kapital3=$kapital2*(1+$zinsfuss/100); $kapital4=$kapital3*(1+$zinsfuss/100);

echo "Anfangskapital: $kapital<br> Zinsfuss: $zinsfuss<br> Kapital nach einem Jahr: $kapital1<br> Kapital nach zwei Jahren: $kapital2<br> Kapital nach drei Jahren: $kapital3<br> Kapital nach vier Jahren: $kapital4<br>";

include('fusszeile.php');

Resultat (kapital_fuss.php)Code (kapital_fuss.php)

14. Literatur

PHP Tutorial , von PHP-Einfach.de

PHP 5 Tutorial , von w3schools.com

Einstieg in PHP 7 und MySQL 5.6, Thomas Theis, Rheinwerk Computing, 13. Auflage 2018

PHP & MySQL von Kopf bis Fuss, Lynn Beighley, ..., O'Reilly, 1. Auflage 2009

top

© UZH | 19.12.2018 | Impressum

15