IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redirection header location


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut Redirection header location
    voici mon code pour la page index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    header('location: <a href="http://localhost/page2.php&#39;);" target="_blank">http://localhost/page2.php');</a>
     
    //phpinfo();
    ?>
    normalement je devrait etre redirigé vers la page page2.php mais au lieu de ca j'ai droit a un message d'erreur firefox :
    La page n'est pas redirigée correctement
    Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
    merci par avance

  2. #2
    Membre du Club
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    Es ce que tu as autre chose juste avant <?php ?

    Il ne faut aucun affichage avant lors d'un header.

    Si tu as du code html avant, même un commentaire, ça ne marchera pas de même si tu met un echo.

    edit : essaye aussi :
    header('location: page2.php'); si tu es dans la même dossier.

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je t'invite quand même à un minimum de recherche.
    par exemple http://cyberzoide.developpez.com/php4/faqsession/#http
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    je sais très bien qu'il faut rien mettre avant le header, d'ailleurs si je l'avais mal placé j'aurai un autre message d'erreur pas celui la ,
    le lien indiqué ne resout pas le probleme car ne montre pas l'origine de mon message d'erreure.
    quand je change location vers un site externe ca fonctionne très bien , donc je veux savoir pourquoi ca marche pas quand je redirige vers une page interne ...

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le lien que je t'ai donné indique, comme le message de Lilouse, la bonne façon d'écrire une redirection.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 63
    Points
    63
    Par défaut
    Salut,

    Tu as écris ton header n'importe comment ...

    Ecris le comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('location: /page2.php'); exit();
    Dans ton code, tu produisait du HTML dans des entêtes HTTP, c'est un non sens... et le pire c'est que tu mets le </a> en dehors du header donc tu ne suis même pas ta logique jusqu'au bout ...

    Quoi qu'il en soit le HTML, ça n'as rien à faire dans les entêtes HTTP, comme te l'explique très bien le lien de "sabotage".

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    je n'ai pas fait gaffe a mon code qui evidemment a été modifier en postant le message j'ai mis aucun </a> j'ai ecris header(location : {ma page})
    je vous explique pourquoi :
    je fais un site et dedans il y'a des pages qui doivent etre sécurisées et je veux pas les mettre dans le meme repertoire d'ou ma redirection vers la page sécurisée , je recupere l'url sans "http://" et je le redirige vers cet url devancé par "https://" ... est ce que ma methode est correcte?
    toutes mes pages sont construite a partir de index.php , j'utilise des templates et des smarty .
    merci

  8. #8
    Membre du Club
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    Tu as mis quoi exactement dans ta page ?

    header('location: localhost/page2.php')

    Si c'est le cas, ça ne fonctionne pas non plus, tu demande à accéder au dossier localhost se trouvant dans le répertoire courant.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    toutes mes pages sont construites à partir de templates , il faut passer par index.php , j'ai configurer le serveur pour aller chercher index.php dans le repertoire www si c'est du http et chercher index.php dans le repertoire wwws si c'est du https dans lequel j'ai mis uniquement les templates necessaires pour mes pages sécurisées.
    donc une page securisée et la meme non sécurisée doivent avoir la mem url à l'exception de https:// au lieu de http://.
    je fais un test sur la variable CURRENT_PAGE_NAME , si ca correspond a une page que je veux securiser alors je recupere l'url je lui rajoute le "s" de sorte à avoir une url "https://seveur.domaine.com/page_securisée.php"
    il n'y pas de probleme au niveau de la recuperation de l'url parce que je fais des echos et c'est recuperé correctement. c'est au niveau de la redirection grace a header() que ca bloque, je n'arrive pas a rediriger vers cette page la, pour le test j'ai essayer de rediriger vers un site externe quelconque et cela marche très bien.

Discussions similaires

  1. Boucle de redirection header Location
    Par midnnight dans le forum Langage
    Réponses: 11
    Dernier message: 15/07/2009, 17h34
  2. redirection header("Location :")
    Par Angelik dans le forum Langage
    Réponses: 2
    Dernier message: 02/06/2008, 03h43
  3. Réponses: 3
    Dernier message: 28/01/2008, 22h18
  4. Erreur de redirection (header("location /page.php");)
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 16/08/2006, 08h43
  5. Problème redirection header ('location:
    Par Jiraiya42 dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo