Heute bin ich mal wieder auf ein sehr faszinierendes Problem mit dem Internet Explorer gestoßen. Meine erste Vermutung war mal wieder ein Programmierfehler im vielgeliebten IE6, aber der Fehler trat auch im Internet Explorer 7 auf.
Ich nutze in einem Projekt absolute Pfade in allen Dateinamen, Links und Formularen. Nun hatte ich aber im einem Formular dummerweise das Gleichheitszeichen nach dem Short Open Tag in PHP vergessen. Mein Formular sah also in verkürzter Form wie folgt aus:
<form action="<? ABSOLUTER_PFAD ?>form.php"> ... </form>
Soweit so gut, aber im Grund durfte hierdurch kein Problem entstanden sein. Der absolute Pfad enthielt eine Angabe in der Form http:/www.beispiel.de/formularordner
. Da nun dieser Pfad nicht zur Verfügung stand enthielt das action
Attribut des Formulars nur den Wert form.php
.
Das Formular wurde über einen Link aufgerufen und somit befand sich der Nutzer innerhalb des „formularordner“. Wenn nun also der Pfad relativ angegeben wird, müsste das Formular in genau diesem Ordner gesucht werden. Einige Nutzer bekamen aber eine schöne 404 Fehlermeldung. Da mir einer dieser Nutzer einen Screenshot des Dilemmas geschickt hat konnte ich feststellen, dass der Browser versuchte den Pfad http./www.beispiel.de/form.php
zu öffnen. Hier war aber natürlich kein Formular zu finden.
Ich konnte den Fehler dann beheben, indem ich das Gleichheitszeichen wieder an seine korrekte Stelle eingefügt habe. Dadurch kam es nicht mehr zu den falschen Aufrufen. Der Vollständigkeit halber hier noch der korrekte Quellcode:
<form action="<?= ABSOLUTER_PFAD ?>form.php"> ... </form>
Was aber genau beim Internet Explorer dazu geführt hat, dass er den Ordner einfach „verschluckt“ hat konnte ich bisher noch nicht feststellen. Mir ist es auch bisher nicht gelungen den Fehler auf einem meiner Rechner zu reproduzieren. Es liegt auch nicht an einem grundsätzlichen Problem bei einem der Nutzer, denn nachdem sie den Browser neu geöffnet hatten funktionierte plötzlich alles wieder wie gewohnt.
Das erstaunlichste ist aber, dass dieser Fehler schon vor 13 Monaten im Skript vorhanden ist und erst jetzt von drei Nutzern entdeckt wurde, obwohl das betreffende Formular wohl hunderte Male am Tag genutzt wird.
Sollte jemand von euch schon einmal dieses Problem selbst erlebt haben und vielleicht sogar eine Erklärung oder Lösung dafür kennen würde es mich wirklich brennend interessieren. Mit dem absoluten Link funktioniert es aber soweit wieder und ich hoffe, dass der Internet Explorer nun den Ordner beibehält.