PHP - Grundlagen
Aus WikiSchool
Achtung: Klassenprojekt
|
[Bearbeiten] Info zum Projekt
Diese Kurzeinführung in PHP ist ein Teil des Klassenprojekts Einstieg ins Programmieren - digitale Mitschrift und wurde vorwiegend von SchülerInnen erstellt.
Inhaltsverzeichnis |
PHP = Hypertext Preprocessing:
Was brauche ich:
• Editor: HTML- Kit • php Interpreter auf schueler.rg18.ac.at daher php Programm
Speicherort: /public_html/…../willkommen.php
Aufruf: schueler.rg18.ac.at/~…./willkommen.php
[Bearbeiten] Erste PHP Seite:
Willkommen.php Seite:
<html> <head> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <title> 1. PHP Seite </title> </head> <body> <php?
echo „Hallo Alex“;
echo „Hallo alle!“;
?> </body> </html>
Zusatz:
-->neue Zeile in HTML
\n -->Zeilenumbruch im Quelltext
// -->einzeiliges Kommentar
/*...*/ -->mehrzeiliges Kommentar
[Bearbeiten] Wenn-Dann-Verzweigung
Wenn-Dann-Verzweigung gehört ebenfalls zu den Grundlagen von php. Man muss eine Bedingung aufstellen und anschließend eine Anweisung.
wenn Bedingung dannAnweisung <p> *wenn <p> Oder man hat zwei Anweisungen, die dann in dann und sonst eingeteilt werden. <p> Wenn Bedingung dann <p> Anweisung <p> sonst <p> Anweisung <p> *wenn
[Bearbeiten] Datum und Zeit
Folgende Funktionen werden dabei verwendet: date() und time(). Bei der Angabe von Datum und Zeit wird der Serverzeit/datum angegeben!
[Bearbeiten] Funktion date()
<?php date("y"); echo "Wir haben das Jahr" .date("y") . "!"; //Zeit, Datum des Servers ?>
Hier einige Formate:
d.m.Y H:i:s....17.12.2008 23:17:51
d.m.y h:i:s......17.12.08 11:17:51
j.M.y H:i:s.....17.Dec.08 23:17:51
[Bearbeiten] Funktion time()
Die Funktion time() gibt die UNIX Zeit an der am 1.1.1970 begann. Gemessen wird die Zeit in Sekunden; daher kann man sich die Zeit (in Sekunden) leicht rechnen.
[Bearbeiten] Variablen
wird von hatora bearbeitet
[Bearbeiten] Typen
...
[Bearbeiten] Arrays
Was ist ein Array?
Ein Array ist eine strukturierte Variabel die mehrere Werte aufnehmen kann.
Und hier ein Beispiel dazu. Den Link findet ihr hier. http://schueler.rg18.ac.at/~alruzi/array_bundesland.php
<?php $bundesland=array ('Wien','Niederösterreich','Oberösterreich','Burgenland','Vorarlberg','Tirol','Kärnten','Salzburg'); echo "$bundesland[1]<br/>"; //Niederösterreich $bundesland[8]='Steiermark'; for ($i=0; $i<=8; $i++) { echo "$i...$bundesland[$i] <br/>"; } ?>
Mit Hilfe von Arrays kann man auch Tabellen machen. Hier ist ein einfaches Beispiel für eine Tabelle gefühlt mit Zufallszahlen und Zeilensumme in jeder Zeile.
for ($j=0; $j<9; $j++){ $z[$j]=mt_rand(0,9); } echo "<table border='1'>"; $wert=0; for ($zeile=0; $zeile<3; $zeile++){ echo "<tr>"; for ($spalte=0; $spalte<3; $spalte++){ echo "<td>$z[$wert]</td>"; $zsumme[$zeile]=$zsumme[$zeile]+$z[$wert]; $wert++; } echo "<td>$zsumme[$zeile]</td>"; echo"</tr>"; } echo "<tr>"; echo "</table>";
[Bearbeiten] Konstanten
...
[Bearbeiten] Kontrollstrukturen
[Bearbeiten] Die if-Verzweigung
Bei einer if-Verzweigung hat die boolesche Variable d.h. , dass man als Antwort Ja / Nein , True / False bekommt. Bei einer Schleife gibt man bestimmte Bedingungen und Anweisungen an, die wiederholt werden sollen!
[Bearbeiten] Beispiel
$stunde = date ("H") if (Bedingung){ if ($stunde ==8) { //Antwort: Ja oder Nein! Anweisung; echo "guten Morgen!"; Anweisung; echo "Hast du schon …"; … … } } //Ende Anweisungsblock else { else { Anweisung; echo "Schönen Tag"; Anweisung; … … … } }
Um mehr Fälle als zwei zu unterscheiden: if – elseif - else
if (Bedingung){ Anweisung; … } elseif(Bedingung){ Anweisung; … } … else{ Anweisung; … }
[Bearbeiten] Die switch-Abfrage
Bei einer switch-Abfrage handelt es sich um eine spezielle Art der Kontrollstruktur. Der wesentliche Unterschied zwischen einer if-Verzweigung und einer switch-Abfrage ist, dass es möglich ist bei einer switch-Abfrage mehrere Fälle bzw. Möglichkeiten zu unterscheiden. Bei einer if-Verzweigung jedoch nur zwischen zwei Fällen. Um deshalb nicht andauertn if - elseif - else etc. schreiben zu müssen, werden switch-Abfragen verwendet.
[Bearbeiten] Beispiel
switch (Eingabe) { case "1": alert("Sie haben sich für die Zahl 1 entschieden"); //Ausgabe bei der Eingabe von Zahl 1 break; case "2": alert("Sie haben sich für die Zahl 2 entschieden"); //Ausgabe bei der Eingabe von Zahl 2 break; case "3": alert("Sie haben sich für die Zahl 3 entschieden"); //Ausgabe bei der Eingabe von Zahl 3 break; case "4": alert("Sie haben sich für die Zahl 4 entschieden"); //Ausgabe bei der Eingabe von Zahl 4 break; default: alert("Bitte eine Zahl zwischen 1 und 4 eingeben"); //Ausgabe bei der Eingabe einer Zahl die sich nicht in diesem Bereich befindet break; }
[Bearbeiten] Schleifen
[Bearbeiten] Kopfgesteuerte Schleifen
[Bearbeiten] WHILE-Schleife
while(Bedingung){ Anweisung; … Zählmuster; }
[Bearbeiten] FOR-Schleife
for(Zahl von Definition;Bedingung;Zählmuster;){ Anweisung; … }
[Bearbeiten] Fußgesteuert
[Bearbeiten] DO-WHILE-Schleife
do{ Anweisung; … Zählmuster; while(Bedingung); }
[Bearbeiten] Operatoren
Es gibt verschiedene Operatoren:
- Rechenoperatoren:
- Vergleichsoperatoren:
$zeit ==8 gleich
$a < $b kleiner als
$a > $b größer als
$a <= $b kleinergleich als
$a >= $b größergleich als
$a === $b identisch
$a != $b ungleich
- Logische Operatoren:
- Zuweisungsoperatoren:
$stunde =8
- Zeichenkettenoperatoren:
. date("H").
[Bearbeiten] Funktionen
[Bearbeiten] interne Funktionen
[Bearbeiten] externe Funktionen
[Bearbeiten] Formulare
Formulare sind ein wichtiges Element im Internet. Häufig stoßen wir beim Erstellen eines Accounts auf Formulare. Mithilfe von Eingabefelder, Radiobuttons, Checkboxen etc. wird das Formular erstellt und ausgefüllt.
Code für die verschiedenen Arten von Feldern, Buttons etc. bei einem Formular:
...<inpute type=
-"text" ...ist das normale Eingabefeld -"checkbox" ...ist eine Checkbox -"radiobutton" ...ist ein Radiobutton auch Auswahlkästchen genannt -"button" ...ist ein normaler Knopf bei dem nichts passiert -"submit" ...ist ein sogenannter Reloadknopf, welcher die Seite auf der er sich befindet neu lädt -"select" ...ist ein Auswahlfeld
Hier nun der Quelltext eines Programm's das wir im Unterricht als Hausübung bekommen haben.
Quelltext:
<?php $zahl1=$_GET['eingabefeld1']; //Definition der Zahl1 $zahl2=$_GET['eingabefeld2']; //Definition der Zahl2 $radiob=$_GET['radiob']; //Definition des Radiobuttons if (!isset ($_GET['senden'])){ //wenn der Button ("Ergebnis") NICHT gedrückt ist $ps=$_SERVER['PHP_SELF']; echo"<form action='$ps' method='get'>"; //Anfangstag bei Formularen echo"<table>"; echo"<tr>"; echo"<td>1 Zahl: <input type='text' name='eingabefeld1' size='20' maxlength='4'>"; //Erstes Eingafeld echo"</tr>"; echo"<tr>"; echo"<td>2 Zahl: <input type='text' name='eingabefeld2' size='20' maxlength='4'>"; //Zweites Eingabfeld echo"</tr>"; echo"<tr>"; echo"<p><input type='radio' name='radiob' value='1' />Adition"; //Radiobutton mit dem value=1 (Adition) echo"<input type='radio' name='radiob' value='2' />Subtraktion<br />"; //Radiobutton mit dem value=2 (Subtraktion) echo"<input type='radio' name='radiob' value='4' />Multiplikation"; //Radiobutton mit dem value=3 (Multiplikation) echo"<input type='radio' name='radiob' value='3' />Division</p>"; //Radiobutton mit dem value=4 (Division) echo"</tr>"; echo"</table>"; echo"<input type='submit' name='senden' value='Ergebnis' />"; //Button mit dem Befehl das ausgewählte zu senden echo"</form>"; } else { $zahl1=$_GET['eingabefeld1']; //Definition des ersten Eingabefeldes $zahl2=$_GET['eingabefeld2']; //Definition des zweiten Eingabefeldes $summe_plus= $zahl1 + $zahl2; //Definition der Adition $summe_minus= $zahl1 - $zahl2; //Definition der Subtraktion $summe_multi= $zahl1 * $zahl2; //Definition der Multiplikation $summe_divi= $zahl1 / $zahl2; //Definition der Division if($_GET['radiob']=='1'){ //Frage an das Programm (ist der Radiobutton 1 gedrückt?) echo"<p>$zahl1 + $zahl2 ergibt $summe_plus</p>"; //wenn ja, dann rechne eine Adition } elseif($_GET['radiob']=='2'){ //Frage an das Programm (ist der Radiobutton 2 gedrückt?) echo"<p>$zahl1 - $zahl2 ergibt $summe_minus</p>"; //wenn ja, dann rechne eine Subtraktion } elseif($_GET['radiob']=='3'){ //Frage an das Programm (ist der Radiobutton 3 gedrückt?) echo"<p>$zahl1 * $zahl2 ergibt $summe_multi</p>"; //wenn ja, dann rechne eine Multiplikation } elseif($_GET['radiob']=='4'){ //Frage an das Programm (ist der Radiobutton 4 gedrückt?) echo"<p>$zahl1 / $zahl2 ergibt $summe_divi</p>"; //wenn ja, dann rechne eine Division } }
Hier der Link zu diesem Programm: http://schueler.rg18.ac.at/~paoch/wiki_bsp.php
Dabei steht nochmals eine Erklärung zum Programmieren eines Beispieles, wie diese und auch ein Struktogramm.