doppelte URL-querries Plokieren sich gegenseitig
Hendrik
- php
0 Stefan Bechtold0 Hendrik
0 Thomas Luethi0 Hendrik
Hiho an alle,
auf meiner Seite werden alle Seiten URL von queries geloest, die an ein PHP-script ueber geben werden, wie z.b. index.php?page=home, ?page=news und so weiter. Nun habe ich ein Problem. Wenn ich mich auf einer Seite wie z.B. ?page=home befinde und zu einer anderen wechseln will deren URL nicht mit der variablen ?page endet schreibt PHP dort automatisch &page=home noch mit hinten dran, was dafur sorgt, dass ich mich auf der Stelle bewege. ?page=news&subaction=showfull&id=...&archive=&start_from=&ucat=6&page=home
hier habe ich also jetzt page=news und page=home in einer URL, was dafuer sorgt, dass ich nur wieder zu home komme. Das passiert nicht, wenn ich auf einer URL wie einfach index.php bin...
Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).
Kann mir einer nen Tipp geben, wie ich das umgehen kann? Etwa durch das deaktivieren dieser AutoComplete funktion in dieser einen Datei oder das zurechtschneiden der URL oder einfach dem script sagen, dass es nur den ersten Querie nehmen soll...
Bin fuer jede Hilfe dankbar
Bye
Hendrik
Hi,
es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Evtl. ist diese in deiner PHP.ini aktiviert. Leider weiß ich nicht wie die Sache heißt. Aber ich könnte mir vorstellen, dass es daran liegt.
Gruss Stefan
danke, davon hab ich gehoert, leider kann ich diese ini nicht beeinflussen, da das auf nem Provider server ist....
Hi,
es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Evtl. ist diese in deiner PHP.ini aktiviert. Leider weiß ich nicht wie die Sache heißt. Aber ich könnte mir vorstellen, dass es daran liegt.
Gruss Stefan
welchen Provider nutzt Du?
Du kannst die ini im Normalfall immer kontrollieren...
set_ini()...
Gruss Stefan
ich bin auf all-inkl.com
das mit der set_ini() ist mir neu, danke
mal schauen, ich seh das als eine moegliche loesung in betracht, warte aber erstmal auf weiteres...
welchen Provider nutzt Du?
Du kannst die ini im Normalfall immer kontrollieren...set_ini()...
Gruss Stefan
Hi!
welchen Provider nutzt Du?
Du kannst die ini im Normalfall immer kontrollieren...set_ini()...
Das hängt von der Variable ab, siehe: http://de3.php.net/manual/de/function.ini-set.php#AEN78712
Grüße
Andreas
welchen Provider nutzt Du?
Du kannst die ini im Normalfall immer kontrollieren...set_ini()...
No No no nicht alle einstellungen und nicht alles!
Siehe hierzu:
http://de3.php.net/manual/de/print/function.ini-set.php
Mir wäre die Einstellung aber auch absolut neu..
TomIRL
Ja natürlich kann man nicht ALLES ändern, aber einen großen Teil,
naja, ich mach jetzt URLAUB ;o)
Wünsch euch allen Viel Spaß und netten Menschen um Euch rum zu Weihnachten...
Happy New Year.
Bye Stefan
Hallo,
Bitte zitiere nur das, worauf Du Dich beziehst,
und gliedere Dein Posting anstaendig:
</faq/#Q-09a> und </faq/#Q-09b>
es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Leider weiß ich nicht wie die Sache heißt.
Schade, _das_ waere hilfreich gewesen ;-)
danke, davon hab ich gehoert, leider kann ich diese ini nicht beeinflussen, da das auf nem Provider server ist....
Es gibt nur wenige Dinge, die ausschliesslich in der php.ini bzw. httpd.conf
eingestellt werden koennen.
Viele Dinge kann man auch im Skript selbst einstellen,
naemlich mit der Funktion ini_set()
http://www.php.net/manual/de/function.ini-set.php
Alles, was in der Tabelle PHP_INI_ALL oder PHP_INI_USER hat.
Einiges kann man auch in der .htaccess einstellen, naemlich
das, was PHP_INI_ALL oder PHP_INI_PERDIR hat.
Gruesse,
Thomas
Hallo,
Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).
Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
_Das_ ist IMHO das Problem.
Und Du solltest uns schon verraten, wie Du die Links erzeugst/ausgibst.
Mir ist kein Mechanismus bekannt, mit dem PHP
"wie von Geisterhand" irgendwelche Dinge an
URLs anhaengt (abgesehen von der Session-ID
beim Fallback).
Gruesse,
Thomas
Hallo,
Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).
Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
_Das_ ist IMHO das Problem.
ich meine nicht, dass das automatische anhaengen ein bug ist, das ist eine bekannte funktion von PHP, der bug ist, dass es nicht erkennt, wenn ein wert schon verwand wurde.
meine duerftiges system ist, dass ich den ?page wert aus $_REQUEST auslesen lasse und dann je mach inhalt von include() eine content datei einfuegen lasse. die URL, die hier doppelt beeinflusst wird ist von einem anderen script erzeugt, das ich fuer meine news nutze (cutenews). was passiert, wenn diesen wert nun 2mal verwendet, sieht so aus:
http://hs.hoodie.de/waste/noco?page=news&subaction=showfull&id=1072163869&archive=&start_from=&ucat=6&page=home&lang=de
Moin!
Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
_Das_ ist IMHO das Problem.ich meine nicht, dass das automatische anhaengen ein bug ist, das ist eine bekannte funktion von PHP, der bug ist, dass es nicht erkennt, wenn ein wert schon verwand wurde.
Nicht PHP ist für das Erkennen zuständig, sondern dein Skript. Wenn du das nicht erkennst, hast du das Problem selbst eingebaut.
Da du bislang noch keinerlei Quelltext rausgerückt hast (mich würde beispielsweise der HTML-Quelltext und die Seiten-URL deines Links interessieren, der angeblich so falsch ist), kann man dir da nicht wirklich helfen.
- Sven Rautenberg
hiho
Nicht PHP ist für das Erkennen zuständig, sondern dein Skript. Wenn du das nicht erkennst, hast du das Problem selbst eingebaut.
Da du bislang noch keinerlei Quelltext rausgerückt hast ...
hast recht sorry, ich lese also nur den
if(isset($_REQUEST['page'])) $qurl = $_REQUEST['page'];
else $qurl = 'home';
switch ($qurl){
case 'home': $page = $qurl .".". $cola;break;
case 'news': $page = $qurl .".". $cola;break;
case 'archive': $page = $qurl .".". $cola;break;
case 'band': $page = $qurl .".". $cola;break;
....
$_REQUEST['page'] ist der wert der doppelt gegeben ist, anscheinend
wird der eigentliche wert ueberschriebe, wenn er noch mals in der URL vorkommt
siehe hier
http://hs.hoodie.de/waste/noco?page=news&subaction=showfull&id=1072163869&archive=&start_from=&ucat=6&page=home&lang=de
der letzte teil wird erzeugt, dadurch, dass ich mich gerade auf der seite page=home&lang=de befand, haette ich sie z.B. in englisch wirde es page=home&lang=en sein, wenn ich allerdings direkt auf der index.php bin, ohne jedliche parameter, geht es, da man PHP keine parameter hinzufuegt...
mein script ist also eher simpel...