24. november 2006 - 16:57Der er
8 kommentarer og 1 løsning
havelåge i url giver probs ved header location
Jeg havde bestemt ikke ventet at en havelåge kunne give problemer, og da slet ikke så inkonsistent. Problemet, som jeg forklarer nedenfor, opstår kun i IE6, ikke FF eller IE7.
Jeg har en side med en række forms - og før hver form har jeg et anchor således at når man har gemt ændringer, så skulle man gerne komme ned til det pågældende sted, uden at skulle scrolle. Det fungerer så også fint nok.
Mine forms sender data til et script som udfører de nødvendige handlinger i databasen, og skal så sende folk tilbage til siden de kom fra, som nævnt, til det pågældende anchor. Det fungerer også fint når det ikke er IE6.
og umiddelbart ser det også fint ud - men: når folk bliver sendt videre på denne måde i IE6 så bliver $_GET['pid'] i edit.php til eks. 1#1 istedet for blot 1. Sjovt nok er det kun ved denne videresending det sker - skriver jeg url'en inkl. #1 - altså edit.php?pid=1#1 - i adresselinien i IE6, så gør den det korrekt.
I adresselinien er det ligegyldigt om jeg skriver det selv, eller om det er via re-direktet, så er det præcis det samme der står.
Naturligvis kan jeg lave et check og smide # og alt efter væk før det skal bruges, men det får mig da til at spekulere på hvorfor, og om det er fordi jeg gør noget forkert. Så, er der nogen der kan fortælle hvad der sker?
Har selv haft lignende problem, men jeg har svært ved at forstå hvad du vil ha' svar på, for du skriver både:
1. Sjovt nok er det kun ved denne videresending det sker - skriver jeg url'en inkl. #1 - altså edit.php?pid=1#1 - i adresselinien i IE6, så gør den det korrekt.
2. I adresselinien er det ligegyldigt om jeg skriver det selv, eller om det er via re-direktet, så er det præcis det samme der står.
jeg synes det modsiger hinanden - eller er det bare mig der er tung i det...
ind i edit.php før $pid skal bruges, og det virker fint. Min bekymring var om header-kaldet muligvis var forkert, og det var det egentlig også (urlencode er det mest korrekte).
Så, hvis der ikke er andet galt med kaldet, kan legende.dk roligt smide et svar og få point ;)
#a1 giver samme resultat som #1, så min lille kodestump skal være der uanset. Jeg opdagede også at urlencodet havelåge ikke fungerer, hvilket ved nærmere eftertanke også giver mening, da browsere vil tro at det så er del af en streng og ikke et anchor (jeg prøvede endog at rette kodestumpen til, så den kiggede efter den url-encodede havelåge).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.