deedee0815
Goto Top

gelöst URL aus Adresszeile lesen

Hallo,

Ich möchte mir PHP die URL aus der Adresszeile auslesen. Nicht die komplette URL, sondern nur den Dateinamen des aktuellen Skriptes. Allerdings mit GET-Parametern. Das hat folgenden Sinn: Bei der Seite, an der ich gerade arbeite, gibt es ein Loginsystem. Wenn man eingeloggt ist, erscheint ein Link zum ausloggen. Er verweist auf index.php?section=startpage&content=dealout. Klickt man auf ihn, ist man ausgeloggt und bekommt eine entsprechende Meldung. Der Link zum ausloggen ist aber noch vorhanden, da er bevor die Session "zerstört" wird ausgegeben wird. Ich möchte mit einer IF-Schleife überprüfen, ob die Auslog-Seite aufgerufen wurde, und nur wenn das nicht der Fall ist den Link anzeigen.

Das habe ich schon probiert:

if(isset($_SESSION['blablabla']) AND trim($_SERVER['PHP_SELF']) != ("index.php?section=startpage&content=dealout")) [echo("<div style=\"float:right;text-align:right;padding:10px;\"><a class=\"link\" href=\"index.php?section=startpage&amp;content=dealout\">Sitzung beenden</a></div>\n");]

-> Die Ausgabe dieser Variable ist aber nur das Stammverzeichnis und der Dateiname ohne Parameter


if(isset($_SESSION['blablabla']) AND trim($_SERVER['argv']) != ("index.php?section=startpage&content=dealout")) [

-> Die Ausgabe dieser Variable ist aber nur das Wörtchen 'Array'.

Was habe ich für möglichkeiten, um dieses Problem zu lösen?
DeeDee0815

Content-ID: 35388

Url: https://administrator.de/contentid/35388

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

Guenni
Guenni 04.07.2006 um 21:02:39 Uhr
Goto Top
@DeeDee0815

Hi,

der Scriptname wird z.B. in $_SERVER["SCRIPT_NAME"] gespeichert.

Leg' mal eine Datei an mit dem Inhalt phpinfo();.

Wenn du diese Datei aufrufst, werden dir unten alle Servervariablen
aufgelistet und noch mehr.

Gruß
Günni
EvilMoe
EvilMoe 04.07.2006 um 21:23:10 Uhr
Goto Top
Die parameter kannste so ausgeben

foreach($_SERVER['argv'] as $parameter) echo $parameter;  

//ich würds dann so machen
foreach($_SERVER['argv'] as $wert) $para .= $wert;  

//so hätte ich dann alle parameter in $para
NaCkHaYeD
NaCkHaYeD 06.07.2006 um 06:59:53 Uhr
Goto Top
Hi,

warum machst du es so kompliziert. Wenn jemand eingeloggt ist oder nicht, siehst du doch an einer Datenbank oder einer Session Variable, je nach deiner Umsetzung.

Wenn er erfolgreich eingeloggt wurde, setzt du eine Session Variable, wenn er ausgeloggt wurde löscht du diese. Somit weisst du, wann er eingeloggt ist oder nicht.

Ich handhabe es so, dass ich die session_start() Variable in der Datenbank ablege und in einer Session Variable. Bei jeden Aufruf einer Internen Seite, wird geprüft ob diese Variable mit dem Usereintrag in der Datenbank übereinstimmt, wenn nicht gleich mal löschen. Bei jeder Prüfung wird in der DB ein Timestamp gesetzt und erneuert. Ist der Timestamp älter als xxx-Sekunden, wird der User ausgeloggt.

mfg
Thomas
DeeDee0815
DeeDee0815 07.07.2006 um 18:14:06 Uhr
Goto Top
@günni
Wenn meine Datei phpdatei.php heißt und mit dem parameter section=bla&nochwas=unsinn also phpdatei.php?section=bla&nochwas=unsinn in der Adresszeile steht, gibt diese Variable nur den Dateinamen aus: phpdatei.php. Das nützt mir nichts.

@EvilMoe
Vielen Dank für die Lösung des Problems.

@NaCkHaYeD:
Natürlich überprüfe ich mit einer Sessionvariable, ob jemand eingeloggt ist, oder nicht. In der Index.php wird ganz oben die Session gestartet. Loggt man sich ein, werden die Sessionvariablen gesetzt. In der Index.php wird vor dem Ausgeben des eingentlichen Inhalts anhand der Sessionvariablen überprüft ob man eingeloogt ist, und entsprechend ein Link zum Ausloggen in den Inhaltsteil ausgegeben. Wenn sich jemand ausloggt, wird der Link zu ausloggen ausgegeben, bevor die Sitzung beendet wird. Das liegt daran, dass eine PHP-Datei zum ausloggen includet wird.
Das habe ich aber eigentlich oben schon geschrieben.


Gruß
DeeDee0815
17735
17735 24.10.2006 um 14:07:15 Uhr
Goto Top
Hallo,

nachträglich nochmal: Das ganze erreicht man mit $_SERVER["REQUEST_URI"], also z. B. default.php?section=article&id=123

Gruß,
Ahnenforscher
EvilMoe
EvilMoe 16.01.2007 um 17:17:21 Uhr
Goto Top
echo $_SERVER['QUERY_STRING'];