Moin!
Höre und lese ich auch öfters. Doch verstehe ich nicht wie ich dann Links stattdessen erstelle...
Was haben denn die Links mit der Art des Zugriffs durch PHP zu tun?
Angenommen ich habe eine Seite und man geht auf /index.php?mode=5&id=100
Wie kann ich soetwas denn anders lesen? Ich muss die Werte doch irgendwie übergeben. Und ich weiss ja nicht vorher welchen Link der User drückt...
Der Link bleibt genau so, wie er ist.
Aber du fragst in PHP nicht mehr $mode und $id ab, sondern $_GET['mode'] und $_GET['id'].
Das hat mehrere wichtige Vorteile:
1. Niemand kann in deinem Skript mehr eine Variable "vorbelegen", indem er z.B. "/index.php?andererwert=test" aufruft (das würde ja dazu führen, dass $andererwert mit dem Inhalt "test" beim Skriptstart existiert).
2. Du hast wieder völlige Freiheit bei der Wahl deiner globalen Variablennamen, ohne darauf achten zu müssen, welche Parameternamen in irgendwelchen Links benutzt werden.
3. Du greifst mit $_GET _garantiert_ auf den Inhalt des URL-Parameters zu. In $mode werden die Werte von GET, POST, COOKIE, SERVER, ENV und SESSION gesammelt, dadurch kannst du nicht mehr feststellen, aus welcher Quelle die Information kommt. Und es wäre doch schön, wenn man nicht aufpassen muß, dass man als Session-Variable nicht aus Versehen (oder beim testen) eine Variable nimmt, die schon als Parametername in der URL verwendet wird. Das gibt dann nämlich ganz häßliche und seltsame Fehler.
- Sven Rautenberg