[PHP]Header("Location:") redirect en IE

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Ik heb een vreemd probleem met IE bij het versturen van headers voor een redirect. In mozilla gaat het allemaal goed, maar in IE loop ik tegen het volgende probleem aan.

Ik include files door het aanroepen van index.php?section=news of index.php?admin=news. In het eerste geval krijg ik de gewone nieuwspagina te zien, in het 2e geval krijg ik een beheer-pagina voor de newsitems. Zo doe ik dat met al mn include files.

Bijvoorbeeld met index.php?admin=users. Hiermee krijg ik een tabel met alle gebruikers, en kan ik ze verwijderen, of de rechten veranderen. Ik doe dat met een pulldown menuutje die dan meteen een form submit naar dezelfde file users.php. Na het verwerken hiervan wordt ik mbv header("location:index.php?admin=users"); weer naar dezelfde pagina gestuurd.

Hier zit het probleem, in Mozilla gaat dit prima (en waarom ook niet?), in IE krijg ik de melding dat de pagina niet gevonden is. Een keer F5 en de pagina is gevonden. Het probleem zit het in het feit dat de admin-files in de directory /admin staan. Ik heb een array $admin_array:
code:
1
2
3
4
5
6
7
$admin_array = 
array ( 'home' => array('admin/admin.php', 'Beheer:'),
    'guestbook' => array('admin/guestbook.php', 'Beheer Gastenboek:'),
    'links' => array('admin/links.php', 'Beheer Links:'),
    'news' => array('admin/news.php', 'Beheer Nieuwsitems:'),
    'partypics' => array('admin/partypics.php', 'Beheer Partypics:'),
    'users' => array('admin/users.php', 'Beheer Gebruikers:'));

Dit werkt in principe gewoon prima, behalve dus in IE icm de headers. Ik heb ook al ipv 'admin/' '/admin/' of './admin/' geprobeerd, maar dat maakt allemaal niks uit. Hoe verhelp ik dit?

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Wat is je precieze header-code?

Sundown Circus


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Ik zou error_reporting op E_ALL zetten en display errors to screen op true zetten. Het kan zijn dat er data naar de browser gestuurt word voordat de headers verstuurd zijn en dat kan tot fouten leiden.
Dus wanneer je de warning "Headers already sent" krijgt dan weet je waar je het probleem moet zoeken.

Acties:
  • 0 Henk 'm!

Verwijderd

Tja ie.. geef hem anders de volledige url mee. http://jouwhost.com/admin/admin.php ofzo.
dan kan zelfs ie er niet onderuit :P

trouwens location: admin.php

Spatie moet er wel ffies tussen.

[ Voor 22% gewijzigd door Verwijderd op 20-04-2004 21:26 ]


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Verwijderd schreef op 20 april 2004 @ 21:25:
Tja ie.. geef hem anders de volledige url mee. http://jouwhost.com/admin/admin.php ofzo.
dan kan zelfs ie er niet onderuit :P

trouwens location: admin.php

Spatie moet er wel ffies tussen.
Held! Het was de spatie. Wel erg vreemd, aangezien ik dat nog nooit gedaan heb, en er ook nog nooit een probleem door heb gehad. In dit specifieke geval gaat ie dus wel over z'n nek, en het maakt ook niet uit of ik nu header("location:http://www.url.com/index.php?admin=users") of header("location:index.php?admin=users"), er moet gewoon echt een spatie tussen. Terwijl header("location:index.php?section=news") wel gewoon prima werkt...? Naja het is opgelost.