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 :

Chargement de page avec header


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Chargement de page avec header
    J'ai deux boutons submit dans un formulaire que je teste dans la page appelée par le formulaire (action) et en fonction du bouton je souhaite afficher une page ou une autre
    Le code de test est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if ($_POST['boutonc1']){
    	header('Location :siteQZ1B.php');
    }
    elseif ($_POST['boutonc2']) {
    	header('Location: siteQZZ.php');
    }
    ?>
    Cette page est bien chargée et le if fonctionne bien avec echo "1" et echo "2" mais l'instruction header ne s'exécute pas (la page siteQZ1B.php ne s'affiche pas, pas plus que la page siteQZZ.php et bien sur ces 2 pages existent)
    Qu'est-ce qui est faux?

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    tu met 2 input type="submit" avec le même nom mais des valeurs différentes:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="?" method="POST">
    	<input type="submit" name="bouton" value="bouton1"><br/>
    	<input type="submit" name="bouton" value="bouton2"><br/>
    </form>
    tu fait un test sur la valeur et tu place un exit; après l'instruction header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if(!isset($_POST['bouton'])){
    	$_POST['bouton']="";
    }
    if ($_POST['bouton']=="bouton1"){
    	header('Location:siteQZ1B.php');
    	exit;
    }
    elseif ($_POST['bouton']=="bouton2") {
    	header('Location: siteQZZ.php');
    	exit;
    }
    echo "3";
    ?>

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    J'avais déjà essayé sans succès en mettant 2 submits avec le même nom

    Dans le fichier de départ (siteQZ1C.php), j'ai le formulaire suivant avec 2 submits:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name="QC01" method="POST" action="siteQZ1D.php">
    <input  TYPE="SUBMIT" NAME="bouton" VALUE="Recommencer"/>
    <input  TYPE="SUBMIT" NAME="bouton" VALUE="Quitter"/>
    </form>

    Le fichier siteQZ1D.php contient le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    if(!isset($_POST['bouton'])){
    	$_POST['bouton']="";
    }
    if ($_POST['bouton']=="Recommencer"){
    	header('Location: siteQZ1A.php');
    	exit;
    }
    elseif ($_POST['bouton']=="Quitter"){
    	header('Location: siteQZZ.php');
    	exit;
    }
    ?>
    Lorsque je clique sur le bouton Recommencer, je m'attendrai à voir s'afficher la page siteQZ1A.php
    Lorsque je clique sur le bouton Quitter, je m'attendrai à voir s'afficher la page siteQZZ.php

    Au lieu de cela la page siteQZ1D.php s'affiche (vierge) et aucune action de chargement d'autre page ne se produit (instruction header à priori ignorée)

  4. #4
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    vérifie que dans ton fichier siteQZ1D.php il n'y a rien avant le <?php, ni espace,ni ligne vide <? doit etre les premiers caractères de ton fichier

  5. #5
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    La balise *<?php* est bien au début du fichier. Il n'y a ni espace, ni ligne vide, ni tabulateur. Cela ne fonctionne ni sur un site de test ni avec wampserver en local

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Essaye de convertir le fichier en UTF-8 sans BOM.
    Sur Notepadd++ : Menu "Encodage > Convertir en UTF-8 (sans BOM)"

  7. #7
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Les différents fichiers sont déjà tous en UTF-8 (sans BOM)

  8. #8
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    si tu a un fichier htaccess il y a peut-être une commande empêche cette redirection, sinon ton code fonctionne chez moi.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Il y avait bien un fichier .htaccess que j'ai supprimé. Le problème est toujours le même.

    Existe-t'il en PHP un autre moyen que header pour charger une page sans l'intervention de l'utilisateur?

  10. #10
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Février 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Je ne sais par quel mystère le problème s'est solutionné.
    Dans l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Location: siteQZ1A.php");
    j'ai enlevé l'espace situé entre *Location:* et *siteQZ1A.php* et cela a fonctionné
    j'ai remis l'espace pour vérifier qu'il s'agissait bien de cela et... même avec l'espace cela fonctionne toujours
    Je ne saurai donc jamais pourquoi cela s'est mis a fonctionner car je n'ai strictement rien changé d'autre?
    Y avait-il un caractère parasite au niveau de l'espace ??? si bien qu'en supprimant l'espace j'ai aussi supprimé le caractère parasite invisible???

  11. #11
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    probablement un caractère de contrôle ou un caractère que l’éditeur ne peux afficher qui trainé dans le coin.
    n'oublie pas de mettre le sujet en résolu

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

Discussions similaires

  1. chargement de page avec jQuery
    Par Undersub dans le forum jQuery
    Réponses: 4
    Dernier message: 20/06/2010, 00h07
  2. [PHP 5.0] Redirection Page avec Header
    Par jojo971 dans le forum Langage
    Réponses: 3
    Dernier message: 23/11/2009, 18h01
  3. Chargement de page avec variables
    Par PierreBTSIG dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2008, 11h01
  4. [JQuery] chargement de page Avec IE
    Par Idleman dans le forum jQuery
    Réponses: 7
    Dernier message: 26/05/2008, 11h33

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