
               
|
php -- Ein Scriptsprache für dynamische WebseitenDie Scriptsprache php -Personal Home Page- eignet sich für Webseiten, die sich dynamisch ändern sollen.
Der Vorteil dieser Sprache ist, dass der php Quellcode auf der Client-Seite nicht zugänglich ist. php Scripte können in HTML-Seiten eingebettet sein. Sie werden aber vom Webserver nicht zum Betrachter zurückgeliefert.


 Inhaltsübersicht
Programmstrukturen
 Beispiel
- Mehrfachverzweigung
Switch $ergebnis
{
case 1:echo 'ausgezeichnet';break;
case 2:echo 'gut';break;
case 3:echo 'befriedigend';break;
case 4:echo 'genügend';break;
case 5:echo 'mangelhaft';break;
default: echo 'Unbefriedigend';
}
|
Diese Prozedur führt eine Fallunterscheidung durch und gibt ein Urteil
entsprechend der Bewertung mit einer Schulnote aus.
|
- Einfache Verzweigung
if ($i==100)
echo "Zahl getroffen";
else "Zahl nicht getroffen";
|
|
Die Verzweigung in der Sprache php besitzt kein Schlüsselwort THEN. Der Sonst-Zweig kann auch weggelassen werden.
|
- Schleifen
Zählschleife ==>
for ($i = 1; $i <= 100; $i++)
$summe = $summe + $i;
kopfgesteuert==> while ($i<100) {$summe=$summe+$i; $i=$i+1;}
fußgesteuert ==> do {$summe=$summe+$i; $i=$i+1;} while ($i<100)
|
Die Zählschleife besitzt folgenden Aufbau:
for (startwert; zielwert; schrittweite) {anweisungsblock}
|
Funktionen
 Beispiel
- Mathematische Funktionen
echo pi();
echo min(3,6,8,1);
echo rand(1,10);
echo round(13.5);
echo cos(pi(); echo tan(pi()/2); echo sin(pi()/3);
echo pow(2,8); echo exp(2);
|
Zahl Pi
Minimum einer Liste
Zufallszahl zwischen zwei Grenzen
Runden
Winkelfunktionen
Potenzfunktionen
|
- Stringfunktionen
a)Zeichen zum ASCII-Wert: chr(64);
b)ASCII-Wert zum Zeichen: ord("B");
c)Zeichenersetzung: strtr("otto","o","a");
d)Substring entnehmen: substr("Beispiel",1,7);
e)Position des ersten Auftretens eines Zeichens: strpos("Beispiel","i");
f)Position des letzten Auftretens eines Zeichens: strrpos("Beispiel","i");
g)Großbuchstabe :ucfirst("beispiel");
h)Zerlegung einer Zeichenkette nach Trennzeichen: explode("~","das~ist~ein~Beispiel");
|
Diese Funktionen liefern folgende Ergebnisse zurück:
a) @ b) 66 c) atta d) eispiel e) 2 f) 5 g) Beispiel h) das ist ein Beispiel
|
- Funktionen zur Dateiarbeit
a) file_exists($dateiname);
b) is_writeable($dateiname);
c) fopen($dateiname, modus);
d) feof($dateiname);
e) fgets($dateiname,laenge);
f) fputs($dateiname,wert);
g) flock($dateiname,modus);
h) rewind($dateiname);
i) fclose($dateiname);
k) readfile($dateiname);
|
Diese Funktionen liefern folgende Ergebnisse zurück:
a) prüfen, ob Datei vorhanden ist==>true/false
b) prüfen, ob Datei vorhanden und beschreibbar ist==>true/false
c) Datei öffnen oder neu erzeugen, abhängig vom Modus:
r=lesen, w=(über)schreiben, a=anhängen/neu erzeugen
d) prüfen, ob Dateiende erreicht ist==>true/false
e) lesen einer Zeile mit angegebener Länge
f) schreiben in Datei
g) sperren der Datei (1 -4)
h) Dateizeiger auf Anfang setzen
i) Datei schließen
k) Ausgabe einer gesamten Datei
|
Umgang mit Dateien
 Beispiel
- Externe Textdatei einlesen
$dateiname = "beispiel.txt";
if ($dateiname)
{
$datei = fopen($dateiname, "r+");
echo "Inhalte der Datei:";
while (!feof($datei))
{
$zeile = fgets($datei, 50);
echo $zeile;
}
fclose($datei);
}
|
|
Nach diesem Prinzip verwaltet php externe Dateien. Der Parameter "r+" erlaubt ein Schreiben und Lesen der Datei.
Anschließend wird der Inhalt der Datei fortlaufend ausgegeben solange das Ende der Datei nicht erreicht ist (siehe Bedingung !feof).
|
- In eine externe Textdatei schreiben
$dateiname = "seitencounter.txt";
if (!file_exists($dateiname))
{ $zeiger = fopen($dateiname, "a");}
else
{ $zeiger = fopen($dateiname, "r+");}
$dateiinhalt=fgets($zeiger,50);
$dateiinhalt++;
rewind ($zeiger);
fputs($zeiger, $dateiinhalt);
fclose($zeiger);
echo $dateinihalt;
|
|
Hier wird ein Wert aus einer externen Datei gelesen, erhöht und wieder zurück in die Datei geschrieben. Der Parameter "r+" erlaubt ein Lesen und Schreiben der Datei.
Falls die Datei "seitencounter.txt" nicht existiert, wird diese Datei am Programmanfang erzeugt. Dies ermöglicht der Parameter "a". Die Funktion rewind() setzt die Position des Dateizeigers auf den Anfang
der Datei. Anschließend wird der neue Dateiinhalt über den bestehenden Inhalt geschrieben und der neue Dateiinhalt wird ausgegeben.
|
Umgang mit MySQL-Datenbanken
 Beispiel
- Zugriff
include ('config.php');//Darin müssen enthalten sein:$server,$db,$user,$pwd
$AName=$_GET[AName];
$conn=mysql_connect($server, $user, $pwd) ;
$sql="SELECT feldname1, feldname2, feldname3 FROM tabelle WHERE feldname1 LIKE '$AName%'";
if ($result = mysql_db_query($db,$sql))
{
$dsz = 0;
echo "Zurück";
echo ...
echo ...
while (mysql_fetch_row($result))
{
$feld1 = mysql_result($result,$dsz,'feldname1');
$feld2 = mysql_result($result,$dsz,'feldname2');
$feld3 = mysql_result($result,$dsz,'feldname3');
...echo ...Ausgabe in einer Tabelle
$dsz++;
}
mysql_close($conn);
}
|
Der Datenbankzugriff erfolgt mit Hilfe von 3 Dateien, z.B. abfrage.html, ergebnis.php und config.php. In einem Abfrageformular wird der Suchtext eingegeben und in einem Textfeld (hier AName) abgelegt. Im Form-Tag hinter Action wird die php-Datei mit obigem Inhalt aufgerufen.
Die Verbindungsdaten werden zur eigenen Sicherheit in einer Datei config.php abgelegt. Dort müssen den Variablen $server, $user, $pwd konkrete Werte zugewiesen werden!
Anschließend erfolgt eine SQL Abfrage (Query) und wenn die Bedingungen den Wert wahr liefern, werden die Inhalte der Datenfelder feldname1, feldname2, usw. der MySQL Datenbank unter den Feldvariablen $feld1, $feld2 und $feld3 in php-Arrays abgelegt.
Mit den angedeuteten echo-Befehlen können diese Daten nun in einer HTML Tabelle ausgegeben werden.
|

|
|