PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] site.php?=TEXT <= Was ist das?



Armitage2k
28.03.2007, 18:24
Also passender als wie im Titel kann ichs einfach nicht beschreiben ^_^

Aber für alle die genauer wissen wollen was ich hier eigentlich will gibts eine längere Erklärung. Da ich von PHP grad mal ein paar wenige Grundbefehle kann um mich mit meiner Site über Wasser zu halten, bitte ich vorab gleich mal um Verzeihung dass ich solche Frage überhaupt stellen muss:

Beispiel:
www.einetollesite.com/index.php?=TEST
Ich hab so ein Beispiel schon unzählige Male im Netz gesehen konnte bisher aber nie so richtig rausfinden wie man das programmiert. Bei diesem Zusatz nach der eigentlichen Seitenadresse handelt es sich doch um den eigentlichen inhalt der quasi im Rahmen der Seite index.php angezeigt werden soll, richtig? Meine konkrete Frage: Wie programmier ich das? Ich selber hab bei meiner alten HTML Site das alles via Frames geregelt aber irgendwie fände ich eine Lösung a la PHP fast schöner.

Vielen Dank schonmal,
A2k

rgb
28.03.2007, 18:29
http://tut.php-q.net/frames.html

Da wird das alles schön Schritt für Schritt erklärt.
Hab es da auch gelernt und ging recht gut.
Einfach nachbauen und den Bedürfnissen anpassen.

DFYX
28.03.2007, 18:36
Ich behaupte einfach, dass er wissen wollte, wie es geht, dass kein Variablenname gegeben ist und genau das erklärt das Tutorial soweit ichs gesehen hab, nicht.

Würde mich übrigens auch interessieren. Genau so wie seite.php?TEXT und seite.php/TEXT.

NPC Fighter
28.03.2007, 19:01
Ich vermute dabei immer, dass das mit mod_rewrite (http://de.wikipedia.org/wiki/Mod_rewrite) zusammenhängt.

Wenn du im ausführenden Script eine Art Standardvariable definierst, die dir damit geliefert wird, müsste man diese doch eigentlich bequem mit PHP verarbeiten können. Wäre mein Ansatz, an sowas ranzugehen. Möglicherweise irre ich mich da aber auch elementar.

Manni
28.03.2007, 20:15
Ich behaupte einfach, dass er wissen wollte, wie es geht, dass kein Variablenname gegeben ist und genau das erklärt das Tutorial soweit ichs gesehen hab, nicht.

Würde mich übrigens auch interessieren. Genau so wie seite.php?TEXT und seite.php/TEXT.

Ersteres kannst du mit isset($_GET['varname']) überprüfen und letzteres über die Request URI. Woebi ersteres nur bei festen Werten Sinn macht...

Das kann man dann für mehrere Seiten zB so machen:

<?php
switch(true) {
case isset($_GET['index']):
...
break;
case isset($_GET['fnord']):
...
break;
...
default:
...
}

mitaki
28.03.2007, 21:27
Also nochmal ein bisschen von mir.

Das HTT-Protokoll erlaubt es neben der Anforderung einer Datei auch Parameter zu übergeben. Der erste Paramenter beginnt nach dem Fragezeichen. Wie die folgenden Paramenter voneinander abgetrennt werden hängt dann von der verarbeitenden Sprache ab (PHP kennt standardmäßig das Ampersand [&] und Semicola [;]).
Die Methode nennt man GET-Methode und wird so auch von Formularen mit diesem Typ angewendet.

Neben dieser Methode gibts in manchen serverseitigen Sprachen die Servervariable PATH_INFO (in PHP: $_SERVER['PATH_INFO']).

Beispiel:
http://www.example.com/test.php/tehe
PATH_INFO: /tehe

Ähnlich sieht auch die mod_rewrite Funktion des Apachen aus, nur dass diese die obige Adresse erst umschreibt und dadurch z.B. statt der Pfadinfo wieder eine GET-Abfrage entsteht.