Hallo Leute!
Ich brauche bitte eure Hilfe.
Ich bin dabei eine Seite zu erstellen und Sie funktioniert auch mit Firefox bisher ohne Probleme. Leider bringt mich der Internet-Explorer zum Wahnsinn. Ich schildere mal mein Problem:
Ich habe eine Seite die u.a. mit Sessions arbeitet, was auch erstmal kein Problem ist: Bei einem Seitenaufruf wird die aktuelle URL incl. GET-Variablen in einer Session ($_SESSION['ref_url']) gespeichert. Dies benötige ich um mittels header (Location: ..) auf die vorige Seite zurückzukehren. Auf einer Seite wird abhängig von einer GET-Variable Datenbank A oder B gewählt. Der Code, der danach durchlaufen wird, ist eigentlich identisch. Bis hier hin ist alles in Ordnung.
Nun das komische: Anhand der GET-Variable wurde Datenbank A ausgewählt. Man klickt auf einen Link. Die Zielseite macht eine Abfrage und fügt weitere Session-Daten hinzu. Nun wird mittels header(Location: ... ) zurück auf die in der $_SESSION['ref_url'] gespeicherten URL verwiesen.
Beim Firefox kein Problem. Der IE verweist auch auf diese URL, übergibt aber nicht die darin gespeicherten GET-Variablen.
Noch kurrioser daran ist: Wenn Datenbank B ausgewählt wurde, funktioniert alles!
Nun habe ich Testweise mal ganz am Anfang und ganz am Ende der Seite die $_SESSION['ref_url'] ausgeben lassen. Am Ende (danach folgt keine Code mehr) steht dann immer die richtige URL mit allen GET-Variablen. Wenn ich nun auf einen Link klicke, steht dann nach Aufruf am Seitenanfang bei der Ausgabe der $_SESSION['ref_url'] die URL ohne die GET-Variablen. Das muss also heißen, dass der IE zwischen Klick und Seitenaufruf irgendetwas komisches macht.

Demnach schließe ich daraus, dass der IE die Zielseite 2 Mal aufruft und beim ersten Mal davon schon die $_SESSION['ref_url'] fehlerhaft beschreibt. Was könnte ihn dazu zwingen?
Ich weiß jetzt absolut nicht wonach ich suchen soll, denn wie gesagt: das ist nur wenn man den IE benutzt und Datenbank A gewählt wurde. Eigentlich müsste ich ja dann nach der Datenbankauswahl den Code durchsuchen, aber der Code, der durchlaufen wird, ist ja identisch!!
Ich hoffe ihr könnt mir helfen.