© by PHP-guide.de
   Dieses Dokument ist urherrechtlich geschützt. Veröffentlichung, Weitergabe und Duplikation jeglicher Art ist nur mit schriftlicher Genehmigung des Autors gestattet!

[ PHP-guide.de - Tutorial: PHP-Dokumentation ]
Ich versuche Ihnen mit dieser Dokumentation PHP ein Stückchen näherzubringen. Aber: Sie hat keinen Anspruch auf Vollständigkeit und zeigt nur die wichtigsten der immensen PHP-Funktionspalette. Ich habe dabei ausserdem versucht, die Dokumentation so ausführlich wie nötig, dabei aber so kurz wie möglich zu gestalten.

   Es würde mich freuen, wenn Sie mir ein Feedback über diese Dokumentation schicken würden!
Aufgeteilt ist die Dokumentation in in 12 folgende Unterbereiche:     
  Allgemeines nach oben  
- PHP-Scripts müssen immer im ASCII-Modus übertragen werden. Achten Sie vor dem Hochladen von PHP-Dateien darauf, daß in Ihrem - FTP-Programm dieser Übertragungsmodus eingestellt ist.
- PHP-Befehle müssen immer mit ";" beendet werden.
- In PHP muss immer exakt auf Gross- und Kleinschreibung geachtet werden.
- Die in fast allen folgenden PHP-Script-Beispielen vorhandenen "..." am Anfang und Ende des Scripts sind durch die in 1) dargestellten HTML-Tags und/oder den Rest Ihrer jeweiligen Webseite zu ersetzen (<html><title><body> usw).
 
  1) PHP in HTML einbauen nach oben  
Ein grosser Vorteil von PHP ist, dass der Programmiertext direkt in die HTML-Datei geschrieben werden kann:
Es gibt 4 Möglichkeiten dafür:
<script language="php">.....</script>
<?php ..... ?>
<? ..... ?>
<% ..... %>
 
  2) Ausgabe eines Scripts nach oben  
Grundsätzlich gibt es 2 Möglichkeiten, sich etwas von PHP in eine HTML-Datei schreiben zu lassen:
...
echo ("Text");
echo ($string);
print ("Text");
print ($string);
...
Welche Möglichkeit letztendlich benutzt wird, bleibt jedem selbst überlassen - grosse Unterschiede gibt es nicht. Da es sich bei bei den Befehlen um keine
Funktionen handelt, werden die Klammern aber normalerweise immer weggelassen.
 
Um Variablen in einem bestimmten Format auszugeben:
...
printf ([Format], [Wert]);

printf ("%X","255");
printf("%3.2f","328");
...
 

Erklärung: das erste Beispiel wandelt die Dezimalzahl 255 in eine Hexadezimalzahl um und würde diese dementsprechend als "FF" ausgeben. Das zweite Beispiel wandelt die Zahl 328 in eine Fließkommazahl mit 3 Vorkomma- und zwei Nachkommastellen um.

 
Angaben:

% legt die zu formatierende Stelle fest

b der Wert wird als Integer interpretiert und binär ausgegeben
c der Wert wird als Integer interpretiert und als ASCII-Zeichen ausgegeben
d der Wert wird als Integer interpretiert und als Dezimalzahl ausgegeben
f der Wert wird als Double interpretiert und als Fließkommazahl ausgegeben
o der Wert wird als Integer interpretiert und als Oktalzahl ausgegeben
s der Wert wird als String interpretiert und als String ausgegeben
x der Wert wird als Integer interpretiert und als Hexadezimalwert in Kleinbuchstaben ausgegeben
X der Wert wird als Integer interpretiert und als Hexadezimalwert in Großbuchstaben ausgegeben

 
  3a) Variablen allgemein nach oben  
Anders als z.B. in Perl, einer weiteren Programmiersprache, die unter anderem auch für das Internet genutzt wird, muss man sich in PHP um den Typ der Variable (ganze Zahl, Gleitkommazahl, Text) nur in speziellen Fällen kümmern. Es ist jedoch zu beachten, dass sie immer mit einem vorangestellten "$" definiert werden.
...
$erstes_beispiel = "Hallo Welt!";
echo $erstes_beispiel;

$erstes_beispiel = "Hallo";
$zweites_beispiel = "Welt!";
echo $erstes_beispiel." ".$zweites_beispiel;
...
 
Erklärung: Beim ersten Beispiel wir die Variable "$erstes_beispiel" mit "Hallo Welt" belegt und mit dem Befehl echo ausgegeben. Beim zweiten Besipiel dagegen werden zwei Variablen gesetzt mit "Hallo" und "Welt!". Anschließend wird der Inhalt der Variablen mit einem Punkt verbunden und ein Leerzeichen in der Mitte eingefügt. Danach wird per echo-Befehl ausgegeben. Das Ergebnis wäre demnach das gleiche wie im ersten Beispiel "Hallo Welt!".
 
Angaben: . [Punkt] wird verwendet um zwei oder mehrere Variablen zu kombinieren.
 
  3b) Variablen aus Formularen nach oben  
Um Formulare zu bearbeiten wird folgendermaßen vorgegangen:
  Formular (beliebige Datei):
...
<form action="ausgabe.php" method="post">
<input name="hallo">
<input type="submit">
</form>
...
 
Erklärung: hier kann ein beliebiges Formular innerhalb einer HTML-Datei definiert werden. Zu beachten ist nur, dass die zu verarbeitenden Felder mit "name=xyz" genau bestimmt sind, sonst können sie von PHP nicht angesprochen werden. Ebenfalls zu beachten, dass zunächst einmal alle Formulare auf "method=post" eingestellt sein sollten.
  Script in "ausgabe.php":
...
echo "$hallo";
...
 

Erklärung: der Inhalt des "input"-Felds wird automatisch nach der "name"-Angabe als Variable übergeben und anschließend ausgegeben.
Hier können später ab Kapitel "8a) Stringverarbeitung allgemein" Abfragen durchgeführt werden. Dabei wird z.B. abgefragt ob eine bestimmte Variable gesetzt ist (isset = is set engl.: ist gesetzt)

 
Angaben: Angaben erst später anwendbar - daher: siehe 8a) und 8b)
 
  3c) Variablen per URL übergeben nach oben  
PHP beherrscht noch eine weitere Art der Variablenübergabe - Sie könne diese einfache an eine URL und folglich auch an einen Link hängen:
...
<a href=datei.php?name=Johannes>
...
  Script in "datei.php":
...
echo "$name";
...

Erklärung: Der an den Link mit "name=Johannes"angehängte Text steht dem aufgerufenen Script datei.php als Variable $name zur Verfügung. Er kann anschließend weiter verarbeitet werden.

 
Angaben: & Um mehrere Variablen zu übermitteln (z.Bsp. <a href=datei.php?nummer=5&name=Fritz>)
 
  4) mathemathische Operationen nach oben  
PHP beherrscht selbstverständlich auch Rechenoperationen:
...
$erstes_beispiel = "3";
$zweites_beispiel = "5";
$ergebnis = "$erstes_beispiel * $zweites_beispiel";
...
 

Erklärung: die ersten beiden Variablen werden mit "5" und "3" gesetzt. Anschließend wird der Inhalt der Variablen miteinander multipliziert. Demnach trägt die Variable "$ergebnis" den Wert 15.

 
Angaben: + für Addition
- für Subtraktion
/ für Division
* für Multiplikation
% für Divions-Rest (z.B. 15 % 9 ergibt 6, da 15 geteilt durch 9 gleich 1 ist und 6 übrig bleiben würde)
 
  5) Fallunterscheidung nach oben  
Um zwischen Fällen zu unterscheiden (Passwort richtig?) wird wie folgt vorgegangen:
...
if ($erstes_beispiel == "3") {
echo "Fritz";
}
else if ($erstes_beispiel == "8") {
echo "Egon";
}
else {
echo "heute niemand da";
}
...
 
Erklärung: mit "if" (engl.:wenn) wird abgefragt ob die Variable "$erstes_beispiel" auf 3 gesetzt ist. Ist sie es, wird "fritz" ausgegeben. Ist sie es nicht (else - engl.: sonst) wird, falls sie auf "8" gesetzt ist, Egon ausgegeben, wenn die Variable einen anderen Wert hat oder gar nicht gesetzt ist, wird "heute niemand da" ausgegeben.
Angaben: == wenn die Werte gleich sein sollen.
!= wenn die Werte unterschiedlich sein sollen.
<= wenn ein Wert größer oder gleich wie ein anderer sein soll.
> wenn ein Wert größer als ein anderer sein soll.
<= wenn ein Wert kleiner oder gleich wie ein anderer sein soll.
< wenn ein Wert kleiner als ein anderer sein soll.

|| wenn verschiedene Abfragen durch "oder" kominiert werden sollen
   ( if ($xyz == "1" || $xyz == "2")...).
&& wenn verschiedene Abfragen durch "und" kominiert werden sollen
   ( if ($xyz > "1" && $xyz < "2")...).
 
bei vielen Unterscheidungen:
...
switch ($erstes_beispiel) {
case "3":
echo "Fritz!";
break;
case "8":
echo "Egon!";
break;
default:
echo "heute niemand da";
}
...
 

Erklärung: da lange if-else-Abfragen eventuell mit sehr viel Tipparbeit verbunden sein können, gibt es auch noch die switch-Afrage. Bei ihr wird am Anfang eine Variable notiert und darunter die verschiedenen case-Abfragen (case engl.: Fall) notiert. Trifft eine zu, wird per "echo" z.B. Fritz ausgegeben und mit "break;" aus der switch-Abfrage ausgestiegen. Trifft sie nicht zu, wird "heute niemand da" ausgegeben.

 
INFO: Bei switch-Abfragen kann etwas nur zutreffen oder nicht zutreffen (Entsprechend "==" bei "if-else"). Eine genauere Differenzierung ist daher nicht möglich.
 
  6) Schleifen nach oben  
Um etwas innerhalb eines Scriptes bis zu einem genau definierten Punkt zu wiederholen, benutzt man sogenannte Schleifen. Eine Anwendungsmöglichkeit wäre z.B. den Inhalt einer Variable exakt 29 mal auszugeben. Theoretisch könnte man natürlich auch 29 mal die echo-Funktion eingeben, es wäre jedoch mit sehr viel Tipparbeit verbunden.

1.Möglichkeit:
...
$beispiel_variable = "PHP ist toll!";
$i = 0;
while ($i < 30) {
echo "$beispiel_variable<br>";
$i++;
}
...
 

Erklärung: Zuerst wird eine Variable mit "PHP ist toll" gesetzt. Anschließend wird der Anfangswert der Schleife, in unserem Fall 0 ($i = 0), gesetzt. Schließlich wird mit "while" die eigentliche Schleife eingeleitet und die Abbruchbedingung definiert ($i < 30). Nun muss nur noch definiert werden, was getan werden soll (z.B. echo "$...";) und ob herauf oder herunter gezählt werden soll ($i++).

 
Angaben: ++ wenn heraufgezählt werden soll.
-- wenn heruntergezählt werden soll.
 
INFO: Die Abbruchbedingung ($i < 30) muss immer eins höher bzw. niedriger gewählt werden als nachher ausgegeben werden soll (in unserem Fall 29 mal + 1 = 30 daraus folgt: i < 30 ).
2.Möglichkeit:
...
$beispiel_variable = "PHP ist toll!";
for ($i = 0; $i < 30; $i++) {
echo "$beispiel_variable<br>";
}
...
 
Erklärung: Zuerst wird eine Variable mit "PHP ist toll" gesetzt. Anschließend werden die verschiedenen Werte nach folgendem Schema impliziert: for (Anfangswert; Abbruchbedingung, Erhöhung/Erniedrigung)
 
Angaben: ++ wenn heraufgezählt werden soll.
-- wenn heruntergezählt werden soll.
 
INFO -
while oder for???
Das einzige wohl einzige Entscheidungkriterium für for- bzw. while-Schleifen ist wohl die Länge und Kompaktheit. for braucht für alle Bedingungen lediglich eine Zeile - alle Bedingungen stehen dabei in einer Klammer.
 
  7) Funktionen nach oben  
Funktionen in Programmiersprachen und speziell in PHP sind zunächst Zusammenfassungen von Befehlen, also kleine "Unterprogramme". Sie können z.B. von einer "if-else"-Unterscheidung aufgerufen werden.

1.Möglichkeit:
...
$guthaben = "39.39";
$kosten_pro_SMS = "0.39";

if ($guthaben >= $kosten_pro_SMS) {
rechnung();
}
else {
echo "lad Deine Karte mal wieder auf!";
}

function rechnung() {
$guthaben = "39.39";
$kosten_pro_SMS = "0.39";

$versendbare_SMS = $guthaben / $kosten_pro_SMS;
echo "Du kannst noch $versendbare_SMS verschicken!";
}
...
 

Erklärung: Diese Beispiel zeigt wieviel SMS ich theoretisch mit einem betimmten Betrag auf meinem Handy noch versenden könnte. Zuerst wird festgelegt, wieviel Guthaben noch vorhanden ist ( 39,39 € ) und wieviel der Versand einer SMS kostet. Anschließend wird überprüft, ob das vorhandene Guthaben noch für das Versenden einer SMS reicht. Ist es im Plus, wird die Funktion gestartet und die noch versendbaren SMS errechnet ( Guthaben durch Kosten pro SMS ).

 
2.Möglichkeit:
...
$guthaben = "39.39";

if ($guthaben > "0") {
rechnung(0.39);
}
else {
echo "lad Deine Karte mal wieder auf!";
}

function rechnung($kosten_pro_SMS) {
$guthaben = "39.39";

$versendbare_SMS = $guthaben / $kosten_pro_SMS;
echo "Du kannst noch $versendbare_SMS verschicken!";
}
...
 

Erklärung: Das Beispiel ist im Prinzip gleich wie das obere. Dieses mal wird der Preis der SMS aber "variabel". So können in der if-else-Abfrage z.B. die Preise der verschiedenen Anbieter verglichen werden. Da die Variable "$kosten_pro_SMS" aber gleich ist, liefert der Script aber das gleiche Ergebniss, wie das obere Beispiel.

Zuerst wird festgelegt, wieviel Guthaben noch vorhanden ist ( 39,39 € ). Anschließend wird überprüft, ob das Guthaben im positiven oder negativen Bereich ist. Ist es im Plus, wird die Funktion gestartet und der Preis pro SMS in Klammern mitgeliefert und anschließend die noch versendbaren SMS errechnet ( Guthaben durch Kosten pro SMS ).
Dies ist natürlich ein hinkendes Beispiel. In Wirklichkeit müsste nämlich noch aufgerundet werden, halbe SMS gibt es ja schließlich noch nicht - zur Veranschaulichung von Funktionen dürfte es aber genügen.

 
INFO: Kommazahlen wie in den obigen Beispielen in Variablen als Punkt schreiben. PHP kann sie sonst nicht berechnen!
Funktionen müssen immer in geschweifte Klammern eingefasst sein!
 
  8a) Stringverarbeitung allgemein nach oben  
Um sogenannte Strings (Variable mit beliebigen Zeichen) zu bearbeiten, gibt es in PHP spezielle Funktionen:
...
$erster_string = "     hallo";
$bearbeiteter_string = chop($erster_string);

$zweiter_string = "hallo\nWelt!";
$bearbeiteter_string2 = nl2br($zweiter_string);
...
 
Erklärung: mit dem Befehl chop() wird in der Variable "$bearbeiteter_string" alle Leerzeichen von "$erster_string" gelöscht. In der Variable "$bearbeiteter_string2" werden einfach alle "\n" durch den HTML-Tag "<br />" ersetzt.
 
Angaben: isset() um abzufragen, ob eine Variable existiert (...if isset($beispiel)...)
chop() entfernt führende Leerzeichen des Strings.
ltrim() entfernt Leerraum am Stringanfang. Als Leerraum gilt z.Bsp. "\n" und das Leerzeichen.
trim() entfernt Leerraum am Stringende. Als Leerraum gilt z.Bsp. "\n" und das Leerzeichen.
nl2br() wandelt "\n"-Zeilenumbrüche in "<br>" um.
strip_tags() entfernt allen HTML- und PHP-Code.
strlen() ermittelt die Länge einer Zeichenkette.
strtolower() wandelt alle Zeichen einer Zeichenkette in Kleinbuchstaben um.
strtoupper() wandelt alle Zeichen einer Zeichenkette in Großbuchstaben um.
str_replace($zu_suchendes_wort, $beliebiger_Text, $zu_ersetzendes_wort) ersetzt den Inhalt eines Strings in einem zuvor definierten String mit einem anderen.
ucfirst() wandelt das erste Zeichen einer Zeichenkette in einen Großbuchstaben um.
ucwords() wandelt das erste Zeichen jedes Wortes einer Zeichenkette in einen Großbuchstaben um.
 
  8b) Datums-, Kalender- und Zeitangaben mit Strings nach oben  
Auch für Zeitangaben gibt es viele spezielle Funktionen, die derartige Angaben sehr erleichtern:
...
$zeit_in_minuten = date("i");
...
 

Erklärung: Der Wert der Variable "$zeit_in_minuten" wir mit der String-Funktion für Minuten belegt. Ist es z.B. 15:31, trägt die Variable den Wert "31".

 
Angaben: date("a") "am" oder "pm"
date("A") "AM" oder "PM"
date("d") Tag imMonat, zwei Ziffern mit führender Null ("01" bis "31")
date("D") Tag der Woche mit drei englischenBuchstaben ("Fri")
date("F") Ausgeschriebener Monat in Englisch ("January")
date("h") Stunde im 12-Stunden-Format ("01" bis "12")
date("H") Stunde im 24-Stunden-Format ("00" bis "23")
date("g") Stunde im 12-Stunden-Format ohne führende Null ("1" bis"12")
date("G") Stunde im 24-Stunden-Format ohne führende Null ("00" bis "23")
date("i") Minuten ("00" bis "59")
date("j") Tag des Monats ohne führende Null("1"bis "31")
date("l") [kleines "L"] Ausgeschriebener englischer Tag der Woche ("Friday")
date("L") Boolescher Wert für das Schaltjahr ("0" oder "1")
date("m") Monat ("01" bis "12")
date("n") Monat ohne führende Null ("1" bis "12")
date("M") Monatmit drei englischen Buchstaben ("Jan")
date("s") Sekunden ("00" bis "59")
date("S") Anhang der englischen Aufzählung, 2 Buchstaben, ("th" für 5/fifth oder "nd" für 2/second)
date("t") Anzahl der Tage des Monats ("28" bis "31")
date("U") Sekunden seit Beginn der UNIX-Zeitrechnung am 1.1.1970 um0.00 Uhr
date("w") Tag der Woche als Zahl, ("0" für Sonntag bis "6" für Samstag)
date("Y") Jahr vierstellig ("2001")
date("y") Jahr zweistellig ("01")
date("z") Tag im Jahr ("0" bis "365")
date("Z") Offset der Zeitzonen gegen GTM in Minuten ("-43 200" bis "43 200")
time() Gibt den aktuellen Timestamp aus (Sekunden seit Beginn der UNIX-Zeitrechnung am 1.1.1970 um 0.00 Uhr)
 
  9) Dateiverarbeitung nach oben  
Auch für Dateiverarbeitung, also das Bearbeiten und ggf Implementieren einer Datei ist in PHP möglich. Die einfachste Art der Dateiverarbeitung ist wohl:
...
include("beispiel.txt");
require("beispiel.txt");
...
 
Erklärung: Bei diesen Varianten wird einfach die angegebene Datei so angesehen, als ob sie an dieser Stelle in der Datei stehen würde. Es können natürlich auch Dateien mit anderen Endungen wie .html mit diesen Befehlen eingefügt werden.
 
INFO: require kann nicht in Schleifen angewendet werden! Ansonsten ist zwischen den Varianten kein großer Unterschied.
 
Es gibt aber natürlich auch eine kompliziertere Art der Dateiverarbeitung, die das Öffnen, Speichern, Anlegen und Bearbeiten von Dateien ermöglicht:

a) Öffnen und Ausgeben einer Datei:
...
$beliebige_datei = fopen ("http://www.domain.de/hallo.txt", "r");

while (!feof($beliebige_datei)) {
$zeile = fgets($beliebige_datei, 400);
echo $zeile;
}

fclose($beliebige_datei);
...
 

Erklärung: mit der Dateifunktion "fopen" (file open engl.: Datei öffnen) wird die Datei "hallo.txt" mit der Option "r" (read engl.: lesen) in die Variable "$beliebige_datei" geladen. Anschließend wird mit der "!feof()"-Funktion überprüft, ob man am Ende der Datei angelangt ist und per der while-Schleife zeilenweise mit der Funktion "fgets()" ausgelesen. Die Zahl "400" steht dabei für die Länge pro Zeile in Bytes, die ausgelesen werden sollen, so fern nicht vorher das Ende der Zeile erreicht ist. Mit "fclose()" wird die geöffnete Datei wieder geschlossen.


b) Öffnen einer Datei und Schreiben in eine Datei:
...
$datei = fopen ("hallo.txt", "w");

$text = "blaaaa";
fwrite($datei, "$text");
fclose($datei);
...
 

Erklärung: mit der Dateifunktion "fopen" (file open engl.: Datei öffnen) wird die Datei "hallo.txt" mit der Option "w" (schreiben) in die Variable "$datei" geladen. Anschließend wird noch sie wmit dem in der Variable "$text" festgelegten Text belegt und wieder in die Datei geschrieben. Mit "fclose()" wird die geöffnete Datei wieder geschlossen.

 
Angaben:
"r" öffnet die Datei nur zum Lesen, begonnen wird am Dateianfang.
"r+" öffnet die Datei am Dateianfang zum Lesen und Schreiben.
"w" öffnet die Datei am Dateianfang zum Schreiben, löscht sie, falls bereits vorhanden. Wenn die Datei nicht existiert wird versucht, sie anzulegen.
"w+" öffnet die Datei am Dateianfang zum Lesen und Schreiben, löscht sie, falls sie bereits vorhanden. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
"a" öffnet die Datei am Dateiende nur zum Schreiben. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
"a+" öffnet die Datei am Dateiende zum Lesen und Schreiben. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
 
INFO: Nach dem Lesen durch "fopen()" können auch die in Kapitel 8a) bearbeiteten String-Funktionen angewendet werden.
 
  10) Datenbanken in MySQL nach oben  
Datenbanken bestehen zunächst aus 1 oder mehreren Tabellen und können z.Bsp., ähnlich einem Adressbuch sogenannte Datensätze beinhalten. Diese Datensätze können dann wiederum die Telefonnummern und die dazugehörigen Namen, Wohnorte o.ä. beinhalten.
Einer dieser abgefragten Datensätze würde demnach also einer Zeile in z.B. folgender HTML-Tabelle entsprechen:
 
 
Name Ort Email
Hans Hanshausen hans@hans.de
Fritz Fritzhausen fritz@fritz.de
Egon Egonhausen egon@egon.de
 
 
...
$adresse_datenbankserver = "db.domain.de";
$ftp_benutzername = "xxxxxx";
$passwort = "xyxyxyx";
$name_datenbank = "dbxxxxxx";
$name_tabelle = "tabelle_eins";
...
 

Erklärung: Um überhaupt mit der Datenbank arbeiten zu können, müssen erst diese allgemeinen Zugangs-Variablen bestimmt werden - sie machen es uns bei den nachher folgenden Vorgängen einfacher. Diese Daten kannst Du von Deinem Provider bekommen - oft stehen Angaben dazu in der FAQ (Frequently Asked Questions) oder im Konfigurationsmenü Deines Providers.

 
a) Verbindung zum MySQL-Server:
...
MYSQL_CONNECT("$adresse_datenbankserver","$ftp_benutzername","$passwort");
MYSQL_SELECT_DB("$name_datenbank");
...
 

Erklärung: Um auf die Datenbank zugreifen zu können, muss zuerst eine Verbindung hergestellt werden. Dies geschieht mit der Funktion "MYSQL_CONNECT()". Steht die Verbindung, wird unsere vorher festgelegte Datenbank festgelegt ("MYSQL_SELECT_DB()").


b) Anlegen einer Tabelle auf dem MySQL-Server:
...
MYSQL_QUERY("CREATE TABLE $name_tabelle (Name varchar(10), Ort varchar(30), Email varchar(30))");
...
 

Erklärung: Nachdem nun eine Verbindung zum MySQL-Server besteht, können wir eine Tabelle erzeugen. Es geschieht mit dem Befehl MYSQL_QUERY("CREATE TABLE..."). In unserem Fall werden dadurch die schon in der oben angezeigten Tabelle Spalten (drei) erzeugt. Mit der Option "varchar(Zahl)" wird die nachher verwendete Zeichenlänge der einzelnen Zellen angegeben.


c) Bearbeiten der MySQL-Datensätze:
...
MYSQL_QUERY("INSERT INTO $name_tabelle (Name, Ort, E-Mail-Adresse) VALUES ('Friedolin', 'Friedolinhausen', 'friedolin@friedolin.de')");
...
 

Erklärung: Hiermit wird ein vierter Datensatz hinzugefügt, der nun einen anderen Namen, Ort und eine andere E-Mail-Adresse aufweist. Die Angabe "...(Name,...)..." bezieht sich immer auf die Spalte, in der mit "...VALUES ('Friedolin',...)..." nachher etwas eingefügt werden soll. Die Reihenfolge der beiden in den Klammern angegebenen Werte muss daher immer genau miteinander übereinstimmen. Soll nur in einer Spalte etwas eingefügt werden, so können Sie selbstverständlich auch nur einen Wert in BEIDE Klammern eingeben.

 
...
MYSQL_QUERY("UPDATE $name_tabelle SET Name='Friedolin' WHERE Name like 'Fritz'");
...
 

Erklärung: Durch den Befehl "UPDATE" wird ein bestimmter Datensatz verändert. In unserem Fall wird der Eintrag der Spalte Name an der Stelle, an der davor Fritz (WHERE Name like 'Fritz') stand, durch Friedolin ersetzt.

 
...
$anfrage = MYSQL_QUERY("SELECT Name FROM $name_tabelle" ORDER BY Ort ASC);
...
 

Erklärung: Hiermit werden alle Namen, in unserem Fall Hans, Fritz und Egon, in einem Array abgespeichert und nach den Ortsnamen in aufsteigender Reihenfolge sortiert - Zur Ausgabe des Arrays weiter unten.

 
...
$anfrage = MYSQL_QUERY("SELECT Name FROM $name_tabelle WHERE Ort like 'Fritzhausen' LIMIT 0, 10");
...
 

Erklärung: Hiermit werden alle Namen aufgerufen, bei der der in der Spalte Ort "Fritzhausen" steht, in unserem Fall genau einer. Gibt es jedoch mehrere mögliche Ergebnisse, kann die Abfrage durch "LIMIT 0, 10" noch auf maximal 10 beschränkt werden. Der Wert wird in einem Array abgespeichert - Zur Ausgabe des Arrays weiter unten.

 
Angaben:
"FROM" um eine bestimmten Tabelle anzusprechen.
"WHERE" um eine bestimmte Zeile innerhalb einer Tabelle anzusprechen. Dabei können die Platzhalter "%" (beliebig lang) und "_" (ein Zeichen lang) benutzt werden.
"ORDER BY Spaltenname ASC oder DESC" um bestimmte Angaben innerhalb einer Anfrage in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge nach einem Spaltennamen zu sortieren.
"SELECT" um einen bestimmten Datensatz auszuwählen und somit auszulesen.
"LIMIT Anfangswert, Zeilenzahl" um einen SELECT-Abfrage zu spezifizieren.
"DELETE" um einen bestimmten Datensatz zu löschen.
"INSERT" um einen bestimmten Datensatz einzufügen.
"UPDATE" um einen bestimmten Datensatz zu aktualisieren.
 
d) Ausgabe der in einem Array abgespeicherten Daten:
...
while ($zeile = mysql_fetch_array($anfrage))
{
echo "$zeile[Name]";
}
...
 

Erklärung: Da die Daten der Anfragen in einem Array abgelegt werden, müssen sie in einer Schleife ausgegeben werden. Anschließend können die Ergebnisse durch den Spaltennamen (z.Bsp. "$zeile[Name]") ausgegeben werden.

 
e) evtl Löschen der Tabelle:
...
MYSQL_QUERY( "DROP TABLE $name_tabelle");
...
 

Erklärung: Da wir jetzt wissen, wie wir Tabellen erstellen, ist es auch wichtig zu wissen, wie wir sie wieder löschen. Dies geschieht durch den Befehl "DROP TABLE", gefolgt vom vorher festgelegten Tabellennamen.

 
f) Beenden der Verbindung zum MySQL-Server:
...
MYSQL_CLOSE();
...
 

Erklärung: Um die Verbindung zur Datenank zu beenden, ist es sinnvoll, die vorher gestartete Verbindung durch die "mysql_close()"-Funktion zu kappen. Allerdings ist es nicht zwingend erforderlich, da sie spätestens nach Beenden des PHP-Scripts sowieso geschlossen wird.

 
  11) Cookies nach oben  
Cookies sind kleine Text-Dateien, die auf der Festplatte des Benutzers (wenn dieser die Funktion Cookies aktiviert hat) abgelegt werden und nach einer definierten Zeit wieder gelöscht werden. Sie speichern Informationen über Benutzer ab und dienen dazu, gesammelte Benutzer-Informationen zu erhalten und zuzuordnen - die Wiedererkennung eines Benutzers ist zur Zeit nämlich noch nicht anders als über Cookies möglich.
 
a) Erstellen des Cookies
...
setcookie("testcookie", "Text", time()+(3600*24*7));
...
 

Erklärung: Um ein Cookie zu erstellen, bedienen wir uns der "setcookie()"-Funktion. Diese speichert als erstes den eigenen Namen ab (in unserem Fall "testcokie"). Als Zweites kann jede beliebige Text-Information, z.Bsp. aus Variablen, diese darf jedoch 2048 Bytes nicht über schreiten. Zu guter Letzt wird, der Zeitpunkt angegeben, an dem es automatisch gelöscht wird, sofern es nicht schon vorher entfernt wurde. Er wir dabei in Sekunden seit dem 01.01.1970 angegeben, am einfachsten ist dies also wenn wir die in 8b) kennengelernte "time()"-Funktion benutzen, die schon die Sekunden bis zum aktuellen Zeitpunkt ausgibt - wir brauchen dann bloß noch die Zeitspanne vom Erstellungs- bis zum Löschzeitpunkt (in Sekunden) dazu addieren. Um es uns einfacher zu machen, hilft es uns, wenn wir es ein bisschen auseinandernehmen und anschließend multiplizieren. Für eine Woche müssten man also die Sekunden einer Stunde (3600), die Stunden des Tages (24) und die Tage der Woche (7) miteinander multiplizieren (3600*24*7).

 
b) Abrufen der im Cookie abgespeicherten Infos
...
echo "$testcookie";
...
 

Erklärung: Um die vorher erstellten Informationen wieder abrufen zu können, müssen wir nur dem zuvor zugewiesenen Namen ein "$" voranstellen, um so den Inhalt als String zur Verfügung zu haben.

 
c) Löschen des Cookies
...
setcookie("testcookie", "");
...
 

Erklärung: Um ein Cookie manuell (ohne Rücksicht auf das beim Erstellen festgelegte Löschdatum) wieder zu löschen, müssen wir nur wieder vorher benannten Cookienamen in die in a) kennengelernte "setcookie()"-Funktion ohne weitere Parameter einsetzen.

 

© by PHP-guide.de
   Dieses Dokument ist urherrechtlich geschützt. Veröffentlichung, Weitergabe und Duplikation jeglicher Art ist nur mit schriftlicher Genehmigung des Autors gestattet!