PHP $_GET als URL-Übertragung

Hilfreich bei der URL-Übergabe in PHP

Sehr oft müssen Werte von einer Seite zur nächsten übergeben werden, um dort wieder in Variablen gespeichert und weiterverarbeitet zu werden. Man könnte hier eine Session bemühen, aber das macht nur Sinn, wenn die Werte von Dauer sind, andernfalls ist man mehr mit Session-Zuweisungen und -Abfragen beschäftigt als mit allem anderen.

Daher werden die Werte per URL übergeben und dafür gibt es das superglobale Array $_GET. Wenn Sie schon einmal mit eBay zu tun hatten oder wenn Sie sich ein Video bei YouTube angeschaut haben, dann wird Ihnen vielleicht aufgefallen sein, dass die URL einen Zusatz erhält, der auf vielen Seiten in der Adresse zu sehen ist. Er beginnt mit einem ? und liefert danach eine Variable und einen Wert. Gibt es mehr als einen Wert, werden die nächsten Paare durch "&" angehängt, sodass eine sehr lange URL entstehen kann.

$_GET hilft die Daten bei Versand auszulesen - zwecks Weiterverarbeitung

<?php
$id = $_GET["id"];
?>

Wenn man die aktuelle Unterseite einer Unterseite vieler dynamischer Webseiten als Beispiel heranzieht, so wird die Variable id über die URL weitergeleitet. Der Aufruf könnte so aussehen:

URL?id=34

Nach dem =-Zeichen steht der Wert und wenn man diese URL eingibt, findet die Datenbank die richtigen Informationen und das Skript der Seite kann die Informationen, zum Beispiel einen gespeicherten Text, darstellen.

Damit das Skript die Datenbank durchsuchen lassen kann, braucht es die Information, welche Seite gefragt ist, also welche Seite Sie sich gerade durchlesen wollen. Diese Information ist im superglobalen Array gespeichert und kann so wie im Beispiel aufgezeigt auf eine normale Variable übertragen werden.

Mehrere Informationen abfragen

Wissen muss man noch, dass es mehr als eine Variable geben kann, die über die URL geliefert wird und diese würde dann mit "&" angehängt werden. Beispielsweise könnte in der URL der Zusatz ?id=seite&user=ichbins stehen. Den Wert admin würde man wieder über $_GET["user"] erhalten.

$_GET und $_POST sind die am häufigsten verwendeten superglobalen Arrays in PHP. Der Unterschied besteht darin, dass bei GET, wie schon gesehen, die Werte über die URL übertragen werden, während bei POST die Werte nicht zu sehen sind und über $_POST abgefragt werden können. Formulare werden meist über POST abgewickelt, können aber auch über GET die Werte liefern, die man dann aber in der URL sehen kann. Das ist mit ein Grund, warum man lieber POST verwendet, schon alleine aus Sicherheitsgründen.

Lesen Sie auch

Superglobale Array ist ein sperriger Begriff, mit dem man am Anfang seiner PHP-Karriere wenig anfangen kann. Aber schon bald wird man quasi täglich damit zu tun haben. Die wichtigsten Vertreter sind zweifelsohne $_GET und $_POST. Mit $_GET werden Werte durch die URL weitergegeben, bei $_POST werden die eingetragenen Formulardaten zur Verfügung gestellt, um sie auszuwerten - einen Kommentareintrag zum Beispiel.

Eine weitere wichtige Funktion ist mit $_SERVER gegeben, womit nicht nur Serverdaten abgefragt werden können, was man aufgrund des Namens hätte vermuten können. Es können auch Besucherdaten oder der verwendete Browser in Erfahrung gebracht werden.

Und dann gibt es noch die Sessionverwaltung mit $_SESSION, um zu überprüfen, ob das Mitglied sich eingeloggt hat. Weitere Lösungen sind mit $_FILES für hochgeladene Dateien und $_COOKIE für die Cookies in Anwendungen gegeben.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel