PDF-Version - freiesMagazin
PDF-Version - freiesMagazin
PDF-Version - freiesMagazin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
werden, immer über die eckigen Klammern und<br />
den Schlüssel, z. B:<br />
$benutzer['betriebssystem']<br />
$benutzer['geburtstag']<br />
$benutzer['lieblingsessen']<br />
Außerdem kann man assoziative Arrays für alles<br />
verwenden, was irgendwie „übersetzt“ werden<br />
muss:<br />
$hauptstadt["Schweiz"] = "Bern";<br />
$franz["das Dorf"] = "le village";<br />
Zur Übersetzung von Wörtern zwischen Sprachen,<br />
hier ein kurzes Beispiel:<br />
<br />
Man ruft das Skript dann mittels<br />
uebersetzung.php?wort=Buch auf und erhält:<br />
book<br />
In der dritten Zeile wird das Array definiert. Hier<br />
werden der Funktion aber Parameter übergeben.<br />
Diese werden speziell getrennt. An erster Stelle<br />
kommt der Schlüssel, über den auf den nach<br />
dem Pfeil folgenden Wert zugegriffen werden<br />
kann. Das wiederholt sich für jeden Eintrag im<br />
Array. Die einzelnen Einträge werden durch Kommas<br />
abgetrennt. Hier wieder ein Beispiel:<br />
"schluessel" => "wert", "<br />
schluessel2" => "wert2", "<br />
schluessel3" => "wert3"<br />
Sicherlich kann man auch auf die Idee kommen,<br />
dem Skript ein Wort zu übergeben, das<br />
gar nicht definiert ist. So wird mit dem Aufruf<br />
uebersetzung.php?wort=Tisch gar nichts ausgegeben,<br />
da die Variable $englisch[’Tisch’]<br />
nicht existiert. Mit isset() kann man aber überprüfen,<br />
ob eine Variable vorhanden ist oder nicht:<br />
<br />
Wer jetzt verstanden hat, was assoziative Arrays<br />
sind, wird sicher erkennen, dass $_GET und<br />
$_POST nichts anderes als assoziative Arrays<br />
sind. Nicht wesentlich anders sieht es im nächsten<br />
Abschnitt aus.<br />
PHP-Sessions<br />
PHP-Sessions sind Sitzungen, die meist nach einem<br />
Log-in mit dem Server aufgebaut werden,<br />
PROGRAMMIERUNG<br />
damit dieser einen später auf anderen Seiten<br />
wiedererkennen kann. Wenn man sich einloggt,<br />
möchte man nicht, dass man sich nach jedem<br />
Klick auf einen Link wieder einloggen muss. Dazu<br />
wird eine 32 Byte lange, zufällige Kombination<br />
aus Hexadezimalzeichen erstellt. Der Computer<br />
des Benutzers, der sich gerade eingeloggt hat,<br />
speichert diese in einer kleinen Datei (genauer<br />
gesagt in einem Cookie). Wenn der Anwender<br />
das nächste Mal einem Link folgt, wird die kleine<br />
Datei mit dem Aufruf der Seite mitgesendet. Dadurch<br />
kann der Server diesen Benutzer eindeutig<br />
identifizieren. Damit der Browser die Cookies akzeptiert<br />
und abspeichert, müssen sie in den Einstellungen<br />
aktiviert sein.<br />
In einer Session können beliebig viele Informationen<br />
in einem assoziativen Array abgespeichert<br />
werden. Das Array dazu lautet $_SESSION. Wer<br />
mehr über Sessions erfahren möchte, findet Informationen<br />
im entsprechenden Wikipedia-Eintrag<br />
[2]. Informationen über die Sicherheit findet man<br />
im PHP-Manual [3].<br />
Damit PHP übermittelte Session-Cookies einliest<br />
oder dem Client eine neue ID zuteilt, muss jede<br />
Seite, bei der man auf die Session-Daten Zugriff<br />
haben möchte, mit einem<br />
session_start();<br />
gestartet werden. Da dies eine Funktion ist, die<br />
auf den Protokollheader zugreift, muss sie vor<br />
jeder Ausgabe ausgeführt werden. Ich persönlich<br />
schreibe die session_start() immer gleich<br />
© <strong>freiesMagazin</strong> CC-BY-SA 3.0 Ausgabe 12/2011 32