| 

.NET C# Java Javascript Exception

2
Hallo Leute,
die Überschrift wird euch zunächst verwirren aber ich Zeig euch einfach mal was ich meine:
Normale GET Übergabe:
index.php?site=user

Und jetzt mein Gedanke (hoffe das geht so)
index.php?site=user?edit

Quasi eine "Parameterübergabe".
Der Haken dabei ist, dass wenn ich das so übergebe meine GETs nicht mehr funktionieren, da so eine Seite "user?edit.php" nicht gefunden wird. Gibt es dafür equivalente Lösungen oder muss ich mich dann doch hinsetzen und einen komplexeren Weg einschlagen? Es ist so, das iFrames das letzte sind was ich nutzen werde und ohne iFrames erscheint mir kein plausibler Weg.

Danke

Gruß

Spicejam
News:
30.07.2011
spicejam 853 2 6
Das mit den IFrames versteh ich nicht ;)
WolfgangKluge 30.07.2011
Naja, hätte ich iFrames im Einsatz, würde ich keine GET Veriable benötigen um meinen Content zu switchen und könnte alles in Frames via Direktaufruf regeln. Aber das ist ja mal für Katz.
spicejam 30.07.2011
2 Antworten
1
Parameter werden mit & getrennt, nicht mit ?.
Das ? ist zur Trennung von Pfad und den Parametern.

also z.B.
index.php?site=user&edit=1
30.07.2011
WolfgangKluge 1,0k 2 7
Sorry mein Tippfehler, genau das mein ich eben. Soll ich versuchen das evtl. in meinem GET zu optimieren? :/
spicejam 30.07.2011
2
Als Kommentar zu lang, daher als Antwort.

Vielleicht frag ich mal anders rum, was willst Du denn erreichen?

Oder nochmal anders: was funktioniert nicht?
Wenn Du index.php?site=user?edit aufrufst, kommt auf der Seite index.php die querystring-variable site mit dem Inhalt user?edit an.
Da Du hier offensichtlich etwas zusammenstückelst findet er die Seite user?edit.php nicht.

Verwendest Du dagegen index.php?site=user&edit=1, hast Du 2 Querystring-Variablen: site mit dem Inhalt user und edit mit dem Inhalt 1.

Jetzt kommt es noch drauf an, wie Du diese Parameter innerhalb index.php zusammensetzt.
Dein kompletter querystring ist immer noch site=user&edit=1. Ich hab lange nicht mehr mit php gearbeitet, aber geb Dir mal alles aus, was da ankommt, dann siehst Du den Fehler vielleicht schon..

echo $_SERVER['QUERY_STRING'];
echo $_GET['site'];
echo $_GET['edit'];


Jeder Wert, der vom User beeinflusst werden kann, sollte überprüft werden.
Edit: index.php statt site.php
31.07.2011
WolfgangKluge 1,0k 2 7
"Jetzt kommt es noch drauf an, wie diese Parameter innerhalb site.php zusammensetzt.". Meinst du hier vielleicht die user.php? Wenn ja, dann ist das was ich gesucht habe. Ich check das morgen mal. Danke :)
spicejam 31.07.2011
Nein, ich mein die index.php. Die setzt die Variablen zusammen und ruft dann das zusammengesetzte auf, was offensichlich nicht immer gelingt und statt "user.php".

Aber wie gesagt, aus Deiner Beschreibung werd ich nicht ganz schlau - ich weiß nicht, ob ich den Fehler überhaupt verstanden hab ;)
WolfgangKluge 01.08.2011
... und statt "user.php" irgendwas anderes rauskommt (z.B. "user?edit.php")
WolfgangKluge 01.08.2011
Dein Beitrag hat mir seh geholfen :) danke. Es ist so: index.php?site=startseite -> ruft meine seite auf index.php?site=startseite&edit -> übergibt edit und somit kann ich eine "WYSIWYG-Editseite" anzeigen. Dangeschön :)
spicejam 02.08.2011

Stelle deine Php-Frage jetzt!