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 avec header(location)


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retoucheur Numérique
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retoucheur Numérique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 15
    Points
    15
    Par défaut redirection avec header(location)
    Bonjour tout le monde,
    J'aimerais rediriger ma page si condition, et je ne sais pas pourquoi la redirection ne se fait pas.
    La condition est bien respectée, j'ai même créé un echo:ok pour vérifier... il s'affiche mais je change pas la page...

    Quelqu'un aurait-il une idée?


    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    include("***");
    mysql_select_db('***',$db);
    $sql = 'SELECT * FROM *** WHERE *** = "' . $_SESSION["***"] . '"';
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    while($data = mysql_fetch_assoc($req))
    {
     
    if ($data['***'] == "oui")
        {
        echo 'ok oui';
        header('Location: mapage2.php');
        }
    else
    {  echo 'ok non';}
    }
    mysql_close();?>

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Erickeee Voir le message
    Bonjour tout le monde,
    J'aimerais rediriger ma page si condition, et je ne sais pas pourquoi la redirection ne se fait pas.
    La condition est bien respectée, j'ai même créé un echo:ok pour vérifier... il s'affiche mais je change pas la page...
    Souvent les problèmes de redirection proviennent de données affichées avant le header()

    As-tu un message d'erreur ? Caches-tu les messages d'erreur ?

    => Assure-toi qu'aucun caractère n'est envoyé avant le header() (même pas une espace ou une ligne vide en dehors de <?php ... ?> des scripts inclus), tu peux "Afficher la source" de la page et vérifier ce qu'il y a avant ton "ok oui"

    => Mets un exit() après le header('Location: ...')

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retoucheur Numérique
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retoucheur Numérique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Hello,

    merci pour la réponse.
    Alors j'ai checké la source, j'avais des espaces avant le OK. Donc je les ai viré...
    Par contre après, j'ai tout le reste du site (qui doit s'afficher si c'est "non").

    Donc en code source, ça donne ça : (screenshoot)

    J'ai ajouté le exit, mais ça ne fait que couper l'affiche du reste du site, ça ne fait toujours pas la redirection...
    Étrange tout çà...

    Nom : Capture d’écran 2022-02-03 à 11.05.57.png
Affichages : 153
Taille : 25,0 Ko

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Il peut aussi y avoir des caractères invisibles avant le "ok cest oui", comme le BOM des fichiers.

    (Tu sais d'où viennent toutes ces lignes vides avant ton "<!DOCTYPE>" ?)

    BOM à supprimer, voir dans ton éditeur de scripts.

    Sur VS Code par exemple tu peux choisir le codage de ton script dans la barre d'infos, en bas à droite :

    Nom : BOM.png
Affichages : 148
Taille : 14,0 Ko

  5. #5
    Membre à l'essai
    Homme Profil pro
    Retoucheur Numérique
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retoucheur Numérique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Alors au final j'ai totalement enlevé le header, et je suis passé par un meta... avec le exit qui me coupe le reste de la page pour être sur que ça ne s'affiche pas le temps que la redirection se fasse. (sans le exit, le reste de la page s'affiche 1sec le temps que ça change...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        {
        echo'<meta http-equiv="refresh" content="0;URL=mapage2.php">';
        exit();
        }

    Bon, c’est peut-être pas la meilleure méthode mais ça marche quand même...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection avec header('location: ')
    Par MarvinR18 dans le forum Langage
    Réponses: 2
    Dernier message: 25/12/2011, 16h23
  2. Réponses: 3
    Dernier message: 28/01/2008, 22h18
  3. [PHP-JS] Problème de redirection avec header
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 02/09/2006, 18h01
  4. Réponses: 16
    Dernier message: 01/02/2006, 19h09
  5. Problème de redirection avec window.location
    Par Kosti dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 18h31

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