[php]Redirect werkt niet onder FF

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op een loginpagina is het de bedoeling om na een succesvolle inlog een redirect naar /index.php te doen. Met Internet explorer verloopt dit prima, maar bij firefox stuit ik op een http://index.php probleem :P

De code is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
    case 'login':
        if(is_user_logged_in()) {
        header("Location: "._URL. "/index."._FEXT);
        exit();
        }

        $redir = get_last_referer();
        if( $redir === false){  
            $redir = _URL.'/index.'._FEXT;
        }


Volgens mij pikt Firefox de juiste bedoeling hier niet van op. Is hier een workaround voor? Het is behoorlijk lastig voor FF gebruikers.

Voor FF is de output in de browser als volgt:
code:
1
            <meta http-equiv="refresh" content="3;URL=//index.php" />


De fout ontstaat niet in IE. Wellicht 1 slash weghalen? :/

[ Voor 13% gewijzigd door Verwijderd op 28-03-2008 18:36 ]


Acties:
  • 0 Henk 'm!

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
header("Location:index.php"); :?

Webberry Webdevelopment


Acties:
  • 0 Henk 'm!

  • gerbennn
  • Registratie: November 2003
  • Laatst online: 10-09 17:42
Verwijderd schreef op vrijdag 28 maart 2008 @ 18:34:

Voor FF is de output in de browser als volgt:
code:
1
            <meta http-equiv="refresh" content="3;URL=//index.php" />


De fout ontstaat niet in IE. Wellicht 1 slash weghalen? :/
Je moet daar een absolute url gebruiken. Dus
code:
1
<meta http-equiv="refresh" content="3;URL=http://host.tld/index.php" />


Op deze manier redirecten word overigens wel afgeraden.

[ Voor 0% gewijzigd door gerbennn op 28-03-2008 18:53 . Reden: linkfix ]

</signature>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gerbennn schreef op vrijdag 28 maart 2008 @ 18:52:
[...]

Je moet daar een absolute url gebruiken. Dus
code:
1
<meta http-equiv="refresh" content="3;URL=http://host.tld/index.php" />


Op deze manier redirecten word overigens wel afgeraden.
Heey thx man :) Ik ga daar eens naar kijken.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Dat geld ook voor de header redirect. Dat firefox probeert http://index.php te openen is dus correct gedrag.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op vrijdag 28 maart 2008 @ 19:31:
Dat geld ook voor de header redirect. Dat firefox probeert http://index.php te openen is dus correct gedrag.
Vandaar..... :P

Nee het ligt idd aan PHP. Ik krijg met elke pagina ook een dubbele slash in de URL zoals site.com//index.php.

Firefox doet dan idd het juiste. Ik ben het aan het aanpassen. :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
.... :X

Het lag dus aan de config.. Ik had een slash teveel ingevoerd. Even leek het erop dat de meta verkeerd uitgespuugd werd maar als er in de config staat site.com/ dan krijg je idd een dubbele slash als je er nog eens ./index.php in hebt staan.

Stom :/

Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Je kan ook gewoon :

PHP:
1
<?php header('Location:index.php'); ?>


Gebruiken ;-)

Een meta refresh gebruiken is gewoon vies, althans.. Niet correct imo :)

[ Voor 27% gewijzigd door sky- op 29-03-2008 14:50 ]

don't be afraid of machines, be afraid of the people who build and train them.


Acties:
  • 0 Henk 'm!

  • ChessSpider
  • Registratie: Mei 2006
  • Laatst online: 01-08 19:01
met HTTP/1.1 moet je absolute paden gebruiken voor redirects..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sky- schreef op zaterdag 29 maart 2008 @ 14:49:
Je kan ook gewoon :

PHP:
1
<?php header('Location:index.php'); ?>


Gebruiken ;-)

Een meta refresh gebruiken is gewoon vies, althans.. Niet correct imo :)
Mweh. Zolang het werkt ben ik er tevree over. Het is alleen de loginpagina, en als iemand met een verouderde browser zou gaan werken dan nog kan je zelf naar /index gaan om jezelf ingelogd te vinden tenzij je cookies uitstaan het :+

Het probleem is dus ook opgelost.
Pagina: 1