So entfernen Sie eine bestimmte $_GET Variablen von einer URL
Habe ich eine website erstellt, in PHP, wo jedes mal, wenn ein Benutzer eine Fehlermeldung, die ich leiten Sie zu einer anderen Seite (mit der header(Location:...)
), und stellen Sie die Fehler-ID in der URL, so dass ich weiß, welche Fehler angezeigt.
E. g. Wenn der Benutzer versucht, auf eine Produkt-Seite, aber das Element ist nicht mehr verfügbar werde ich die Umleitung zurück auf die Kategorie der Elemente, die Sie vorher mit der Suche an und zeigt eine Fehlermeldung, basierend auf dem Fehler-ID habe ich in der URL angegeben ist.
www.example.com/view_category.php?product_category_id=4&error_id=5
Gibt es zwei Dinge die ich nicht mag, über diesen Ansatz:
- Es zeigt die error_id in der URL.
- wenn die Seite aktualisiert wird, der Fehler wird immer noch angezeigt.
Gibt es eine Möglichkeit, sauber zu entfernen eine bestimmte $_GET Variablen aus einer URL, während man den rest der Variablen intakt, NACHDEM die Seite geladen ist?
Ich mir denke, vielleicht ist es mit modRewrite oder eine Umleitung zu der Seite, die sich aber entfernen die error_id aus der URL oder über eine $_SESSION-variable und verhindern, dass die error_id in der URL. Ihre Gedanken?
Ich wirklich Lerne viel von dieser community und dachte, wenn ich die Frage gestellt habe, ich könnte in der Lage, etwas neues zu lernen oder zu bekommen einige abwechslungsreiche Ideen, wie ich bin ziemlich neu im scripting.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, es gibt keine Möglichkeit zu tun, die explizit - zumindest nicht ohne eine Seite zu aktualisieren, aber dann würden Sie verlieren die Daten jedenfalls.
Du bist besser dran mit einem temporären session-variable.
Dann, in view_category.php
Ja, es ist ein Weg, um zu entfernen especific
$_GET
von PHP...Dann, setzen Sie die $newurl in den link.. wie diese:
pageurl?something=something&<? echo $newurl; ?>
Ich weiß, das ist eine alte post, aber auch andere Programmierer können die Suche für Sie!
Melden Sie den Fehler in Ihrer Datenbank 🙂
Nach, dass ein cookie gesetzt oder eine session-variable und dann leiten Sie den Benutzer auf die sichere Seite. Wenn die Seite geladen wird, müssen Sie prüfen, die für die variable, die Fehler anzeigen lassen und löschen Sie Variablen aus dem cookie-oder session-array.
Eine Möglichkeit ist der Vergleich der
HTTP_REFERER
mit derSCRIPT_NAME
. Sie werden das gleiche, wenn der Benutzer auf Aktualisieren.Quick Hack: Man könnte auch
imploded()
'd "&" in der die$_SERVER['QUERY_STRING']
variable zu manipulieren, dass die string-und dannexplode()
'd es wieder.Wäre nicht dieser Ansatz funktionieren?
hatte ich dasselbe problem
versuchen : http://www.azazia.com/kb/entry/26/
}
arbeiten perfekt für mich.