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 :

Fonction header


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Fonction header
    Bonjour,

    Débutant le php je viens de tomber sur mon premier casse tête !

    Après avoir regarder sur différents forum le fonctionnement de la fonction "header", je n'arrive toujours pas à la faire fonctionner sur un site tout simple, qui doit, en validant un formulaire rediriger sur une nouvelle page.

    Voila le code que j'utilise :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    if(isset($_POST['bouton']))
    {
    if($_POST['code']=='1234')
    {
    header("Location:pagePrivee.php");
    exit();
    }
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    </head>
     
    <body>
    <form id="monform" name="form1" method="post" action="login.php">
      <p>
        <label>Code :
          <input type="text" name="code"  />
        </label>
      </p>
     
      <p>
        <label>
          <input type="submit" name="bouton"  value="Envoyer" />
        </label>
      </p>
    </form>
    <?php
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
    ?>
    </body>
    </html>
    La fonction header ne renvoie jamais sur la page demandée lorsque le formulaire est validé ! (il n'y a aucun espace ou caractère invisible).

    J'utilise Dreamweaver et Mamp que j'ai configuré à l'aide du site Adobe :
    http://www.adobe.com/devnet/dreamwea...mberedheader_2

    Je lance mes tests dans Safari 7.0.4.

    En espérant que vous pourrez m'aider et en vous remerciant par avance !

    Xavier

  2. #2
    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
    Justement avec un espace non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: pagePrivee.php");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    autodidacte
    Inscrit en
    Juin 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2014
    Messages : 45
    Points : 29
    Points
    29
    Par défaut
    Il n'y a aussi autre chose à savoir, bien que ce ne soit pas le cas tout de suite : header('Location : page.php'); ne peut s'utiliser qu'avant tout début de code html.
    Si il se trouve après du html, ça ne fonctionnera pas. La seule solution que je connais pour remplacer header location dans ce cas, c'est du javascript "location replace".
    Peut-être que les experts du coin lâcheront une autre alternative pour ce cas. Attendons voir.......

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Non, j'ai déjà testé :s

    Je commence à me demander cela ne viens pas de mon ordi car je suis exactement ce que fait le tuto vidéo et tout marche bien pour lui, mais pas pour moi ... La FLEMME ^^

    Merci en tout cas et n'hésite pas si tu as d'autres pistes !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci SunSeeker, Le code est effectivement tout au début de la page. Et il n'y a pas d'espaces ou de caractères invisibles !
    J'ai aussi fait le test avec des ' au lieux des " - même résultat, rien ...

  6. #6
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Debug ta variable POST pour vérifier qu'elle n'est pas vide avec print_r($_POST); au tout début de ton script
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci Spartacusply mais la variable n'est pas vide, elle contient bien les informations renvoyées par la fonction !

  8. #8
    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
    Vérifie que ton fichier est bien encodé "sans BOM" et active l'affichage ou le log des erreurs PHP sur ton serveur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Pourrais-tu s'il te plait m'indiquer la procédure à suivre pour réaliser ces opérations ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Après recherche j'ai trouvé ce site : http://qa-dev.w3.org/i18n-checker/ qui permet de voir si des BOM sont présent dans le fichier. Et mon fichier en possède ... Maintenant si vous avez une méthode pour les enlever avec Dreamweaver je suis preneur !!!

    Merci Sabotage pour ton aide !

  11. #11
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Ouvre ton fichier avec notepad++, puis encodage > Convertir en UTF-8 (sans BOM)
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  12. #12
    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
    Apparement dans Dreamweaver, dans les propriété de la page, il y a un menu encodage avec une case à cocher "inclure la signature unicode(BOM)"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    J'ai bien trouvé cette option ! Mais je ne voie pas de différence, cela n'affiche pas les BOM ... Je vais poster une nouvelle discussion dans la section Dreamweaver du Forum... Je reviens vers vers vous dès que j'ai une réponse !

  14. #14
    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
    Quand je dis "une case à cocher", elle doit être décochée hein.
    On ne veut pas du BOM et le BOM n'est pas visible (normalement).
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Elle est bien décoché et ce d'origine !
    Voilà à quoi ressemble la fenêtre :
    Nom : Capture d’écran 2014-06-24 à 17.06.37.png
Affichages : 65
Taille : 223,9 Ko

Discussions similaires

  1. [PHP-JS] La fonction header()
    Par davinout dans le forum Langage
    Réponses: 16
    Dernier message: 16/05/2006, 07h43
  2. php5: difficulté avec la fonction header
    Par koueletbak dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2006, 19h44
  3. Comment utiliser la fonction Header(Location..)
    Par arti2004 dans le forum Langage
    Réponses: 3
    Dernier message: 10/04/2006, 17h42
  4. Pb de redirect avec fonction header
    Par adlaf dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2006, 15h25
  5. [Dates] Problème avec la fonction header
    Par d.w.d dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2005, 16h33

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