18.10.2013 Aufrufe

PDF-Version - freiesMagazin

PDF-Version - freiesMagazin

PDF-Version - freiesMagazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!