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 :

Problème de redirection vers une autre page


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut Problème de redirection vers une autre page
    Bonjour,

    Après mes traitements mysql j'ai l'habitude de me rediriger vers l'index avec cette méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: index.php");
    Il m'est arrivé que firefox refuse de faire fonctionner cette méthode, alors j'ai utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("<script type=\"text/javascript\">setTimeout('location=(\"index.php\")' ,1000);</script>");
    Mais pour la première fois, j 'utilise $_GET, et j'ai eût d'étranges bugs (en ajoutant une entrée à ma table, il y en avait entre +10 et +15 vides qui s'ajoutaient automatiquement), grâce à un if(), j'ai pû contourner cela, mais pour la redirection vers une autre page, la 1ere méthode est refusé par firefox, et la 2eme, la page se charge, termine, charge, termine à l'infini, plus ou moins rapidement selon le timeout.

    Y a t-il une astuce pour éviter cela ? Voici le code:

    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
    19
    20
    21
    22
    23
    24
    <?php
    if ((isset($_GET['nom'])) AND (isset($_GET['jour'])) AND (isset($_GET['creneau'])))
    {
    	$nom = htmlspecialchars($_GET['nom']);
    	$jour = htmlspecialchars($_GET['jour']);
    	$creneau = htmlspecialchars($_GET['creneau']);
    	try
    	{
    		$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    	}
    	catch (Exception $e)
    	{
    		die('Erreur : ' . $e->getMessage());
    	}
    	$req = $bdd->prepare('INSERT INTO groupes(nom, jour, creneau) VALUES(:nom, :jour, :creneau)');
    	$req->execute(array(
    	'nom' => $nom,
    	'jour' => $jour,
    	'creneau' => $creneau
    	));
     
    }
    header("Location: index.php");
    ?>
    Merci !

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Tu as une erreur ou quelque chose qui s'affiche quand la redirection ne s'effectue pas ?

  3. #3
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Il m'est arrivé que firefox refuse de faire fonctionner cette méthode, alors j'ai utilisé [...]
    header() est exécutée côté serveur donc ce n'est pas Firefox qui la fait fonctionner.

    Si je comprends bien, Firefox ne te redirige pas toujours sur la page d'index mais cela marche quelquefois - alors qu'avec les autres navigateurs cela marche tout le temps ?

    As-tu repéré des différences entre les deux jeux de données (quand ça marche et quand ça ne marche pas sous Firefox ?)

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Suite à un header de redirection penses à toujours mettre un exit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Location: index.php");
    exit;

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    lorsque ton header ne fonctionne pas (ce qui est vraiment pas normal, comme tu l'auras compris ), je te conseille de jeter un oeil sur les logs apache / php....

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut
    Bonjour à tous,

    Firefox me dit "Redirection incorrecte", en effet dans l'URL de firefox il tente de faire "www.monsite.page_dans_laquelle_il_y_a_le_header/index.php", en gros il colle "index.php" à la suite de l'URL de la page dans laquelle il lit la redirection, bizarre comme bug ca ne me le fait pas sur mes autres pages...

    J'ai testé de rajouter un "exit;" mais ca ne résout pas le problème, cela dit c'est toujours bon à savoir !

    Petite précision qui émilime peut être certaines hypothèses: Je suis en local.

  7. #7
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Location: /index.php");
    exit;

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut
    C'était la solution !

    Merci beaucoup !

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

Discussions similaires

  1. Problème redirection vers une autre page PHP
    Par dekalima dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2011, 13h21
  2. Réponses: 4
    Dernier message: 21/03/2007, 16h03
  3. Réponses: 1
    Dernier message: 19/02/2007, 15h05
  4. Redirect vers une autre page
    Par RobinNono dans le forum Langage
    Réponses: 5
    Dernier message: 24/08/2006, 15h01
  5. iis redirection vers une autre page
    Par wodel dans le forum IIS
    Réponses: 1
    Dernier message: 03/01/2006, 15h36

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