Die Standard URL-Parameter der Datensatznavigation

Erläuterung:

Zum seitenweisen Blättern durch die vorhandenen Datensätze verwendet Dreamweaver seit jeher zwei sog. “URL-Parameter”, welche ab der 2. Seite in der Adresszeile des Browsers angezeigt werden.

Das von Dreamweaver standardmässig verwendete Namensformat beider URL-Parameter setzt sich wie folgt zusammen:

a) “pageNum” bzw. “totalRows”
b) Unterstrich
c) der vom Entwickler vergebene Name der Datenbankanfrage (z.B. “countries”)


Dreamweavers Standard URL-Parameter der Datensatznavigation

Während der erste URL-Parameter “pageNum…” einen numerischen Wert (hier: 1) besitzt, welcher im Verlaufe der Navigation die darzustellende Seitennummer bzw. die von der Seite angezeigten Datensätze bestimmt und ergo unverichtbar ist, kann man in vielen Fällen auf den zweiten URL-Parameter “totalRows…” verzichten, weil dieser ausser der Angabe der Gesamtzahl der Datensätze (hier: 239) für die Datensatznavigation an sich bedeutungslos ist und in diesem Kontext keinerlei Funktion besitzt, zumal dieser Wert bei jedem Aufruf der Seite ohnehin durch die in der Datenbankabfrage bereits implementierten Funktion mysql_num_rows ermittelt und einer wiederverwendbaren PHP-Variable zugewiesen wird.

Da eine Veränderung des “totalRows…” Parameterwertes eigentlich nur dann einen Sinn ergibt, wenn die Datensätze vom Benutzer gefiltert werden, kann dieser URL-Parameter nicht grundsätzlich als sinnlos bezeichnet werden und sollte dann auch besser nicht entfernt werden — falls die betreffende Seite allerdings im “öffentlichen Raum” steht und nur eine Navigation der Datensätze vorgesehen ist, empfehlen sich die in in diesem Tutorial vorgeschlagenen Änderungen.

Die Probleme mit URL-Parametern

1. URL-Parameter stellen an für sich potentielle Risiken hinsichtlich Aspekten wie Sicherheit oder Datenintegrität dar — was auch immer in der Browser-Adresszeile angezeigt wird, kann vom Seitenbesucher manuell geändert werden, was nach dem Neuladen der jeweiligen Seite zu unerwünschten Ergebnissen führen kann.

2. URL-Parameter, welche in der Adresszeile des Browsers an den Dateinamen einer Seite (z.B. countries.php) angehängt werden, können u.U. die Ranking-Position der Seite bei Suchmaschinen negativ beeinflussen, denn es ist nach wie vor nicht gewährleistet, dass sämtliche Suchmaschinenbetreiber willens sind, einer Seite mit offensichtlich dynamisch generiertem Inhalt (erkennbar an z.B. dem Suffix “php”) dieselbe Relevanz zuzugestehen wie einer statischen HTML-Seite — die zusätzliche Präsenz von gar multiplen angehängten URL-Parametern wird dieses Manko natürlich nicht beheben können, d.h. an diesem Punkt sollte zumindestens eine Reduktion erfolgen. Google stellt zwar diesbezüglich mittlwerweile kein Problem mehr dar, aber andere “Spider” sind nicht unbedingt so weit.

Auch wenn URL-Parameter bzw. die ihnen jeweils zugewiesene Funktionalität niemals völlig vermeidbar sein können, orientieren sich erfahrene Web-Developer zumindestens bei öffentlich zugänglichen Seiten traditionell an diesen sinnvollen Faustregeln:

a) verwende nur URL-Parameter, die wirklich benötigt werden

b) sichere dein Skript gegen unerwünschte Parameterwerte bzw. Wert-Typen (z.B. numerisch, text) ab

c) definiere möglichst kurze und einem humanen Wesen verständliche Parameternamen, denn die Bedeutung eines Begriffes wie “pageNum” (Abkürzung von “Seitennummer”) wird einem deutschsprachigen Besucher nicht unbedingt ersichtlich sein.

d) wenn möglich, “maskiere” eine dynamische Seite inkl. der angehängter URL-Parameter, indem du auf einem Apache-Server eine sog. “.htaccess” – Datei konfigurierst, welche aus einem in der Browser-Adresszeile angezeigten Dateinamen wie “countries.php?seite=1” automatisch einen suchmaschinenfreundlichen Alias wie z.B. “countries_1.html” generiert.

Im Fall von Dreamweavers standardmäßig vergebenen URL-Parametern und auch dem erzeugten PHP-Navigationsskript werden leider die Regeln a – c gebrochen, was von einem Entwickler mit wenig Aufwand revidiert werden kann.

Aufgabenstellungen

1. das Navigationsskript soll entrümpelt und vom URL-Parameter “totalRows…” befreit werden.

2. sicherstellen, dass das Skript ausschließlich numerische Werte von der URL-Variable “pageNum…” akzeptiert

3. Modifikation des Skripts und der Navigation mit dem Ziel, den statisch vergebenen Parameternamen “pageNum…” durch eine vom Entwickler frei definierbare Bezeichnung wie “seite” zu ersetzen.

4. Konfiguration von suchmaschinenfreundlichen URLs durch automatische Umwandlung des in der Browser-Adresszeile angezeigten Dateinamens “countries.php?seite=2” zu “countries-2.html”. Diese Aufgabe beinhaltet minimale Skriptänderungen sowie die Erstellung und Konfiguration einer “.htaccess” – Datei.

Wichtiger Hinweis

Wenn der von Dreamweaver in die Seite platzierte Code eines “Serververhaltens” nachträglich verändert wird, besteht immer die Gefahr, dass die Einstellungen des betreffenden Serververhalten nicht länger mithilfe des visuellen Tools nachträglich bearbeitet werden können — anders gesagt: die in diesem Tutorial erläuterten Codeänderungen sollten ggf. nur dann erfolgen, nachdem die Seite inkl. aller gewünschten dynamischen Funktionalitäten als “komplett” betrachtet werden kann und man nicht mehr auf eine Verwendung der visuellen Tools angewiesen ist.

Selbstverständlich ist ein Backup der originalen Seite ebenfalls von Vorteil ;-)