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 :

[Cookies] Ma redirection avec header ne fonctionne pas


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut [Cookies] Ma redirection avec header ne fonctionne pas
    Bonjour à jour,

    J'ai un petit soucis avec ma redirection. La page que j'appele avec la fonction header ne s'affiche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?
    include&#40;"config.php"&#41;;
    if&#40;&#40;$motdepasse==$admin_pass&#41;&&&#40;$login==$admin_username&#41;&#41;
    &#123;
    setcookie&#40;"proaccess","identok",time&#40;&#41;+7200,""&#41;;
    header&#40;"location&#58; choix.php"&#41;;
    &#125;
    else
    &#123;
    header&#40;"location&#58; administrateur.php"&#41;;
    &#125;
    ?>
    J'ai ceci comme erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Warning&#58; Cannot modify header information - headers already sent by &#40;output started at /home/dolphiin/www/proaccess/config.php&#58;25&#41; in /home/dolphiin/www/proaccess/sidentifier.php on line 5 
     
    Warning&#58; Cannot modify header information - headers already sent by &#40;output started at /home/dolphiin/www/proaccess/config.php&#58;25&#41; in /home/dolphiin/www/proaccess/sidentifier.php on line 6
    Quelqu'un pourrai m'aider ?

    dolphi

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    output started at /home/dolphiin/www/proaccess/config.php:25)
    y a soit un echo ou du html a la ligne 25 de config.php
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Points : 133
    Points
    133
    Par défaut
    bonjour

    tu ne peux plus envoyer des entêtes (header, cookies ...) lorsque ton script a commencé à envoyer des données.

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "bonjour";
    header&#40;"p.php"&#41;;
    Le code précédent est incorrect parce que lorsque tu appelles 'header', du as déjà afficher "bonjour"

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    bonjour,

    Il y ceci dans config php il n'y as même pas de ligne 25

    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
     
    <?
    // CONFIGURATON
     
    // Pour la connexion à votre base de données MySQL
     
    // Nom d'utilisateur
    $db_username = "dolphiinfred";
    // Mot de passe
    $db_pass = "JtuRGg5e";
    // Chemin
    $db_chemin = "sql6";
    // Nom de la base
    $db_name = "dolphiinfred";
     
     
    // Pour l'administration
     
    // Nom d'utilisateur
    $admin_username = "fred";
    // Mot de passe
    $admin_pass = "fredo";
     
    ?>
    Je ne vois pas très bien ou mon fichier config envoie quelque chose avant le header ?

    dolphi

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    y a peut etre des lignes vides avant ou apres les balises php <? et ?>
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 160
    Points
    160
    Par défaut
    Gargl !!!!
    Je viens de tomber sur ce post et je dois dire que ca me sauves la vie. Par contre, je suis bien vert que ce soit un truc comme ca après avoir passé pas mal de temps a trouver l'explication.

    Merci en tout cas 8)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Chez moi sa ne fonctionne toujours pas j'ai ecris ceci mais rien à faire

    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
     
    <?
    include&#40;"config.php"&#41;;
    if&#40;&#40;$motdepasse==$admin_pass&#41;&&&#40;$login==$admin_username&#41;&#41;
    &#123;
    setcookie&#40;"proaccess","identok",time&#40;&#41;+7200,""&#41;;
    header&#40;"location&#58; choix.php"&#41;;
    &#125;
    else
    &#123;
    header&#40;"location&#58; administrateur.php"&#41;;
    &#125;
    ?>
    <?
    include&#40;"config.php"&#41;;
    if&#40;&#40;$motdepasse==$admin_pass&#41;&&&#40;$login==$admin_username&#41;&#41;
    &#123;
    setcookie&#40;"proaccess","identok",time&#40;&#41;+7200,""&#41;;
    header&#40;"location&#58; choix.php"&#41;;
    &#125;
    else
    &#123;
    header&#40;"location&#58; administrateur.php"&#41;;
    &#125;
    ?>
    dolphi

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    montre moi le fichier dans lequel il te dit que les headers sont envoyés
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Désolé pour le post précédent je me répetez deux fois

    J'essaye avant tout de comprendre. J'ai créé un petit formulaire avec deux entre le login et le mot de passe.

    Dans ce formulaire j'ai écris ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <form method="POST" action="sidentifier.php">
    et dans ma page sidentifier.php 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
     
    <?
    include("config.php");
    if(($motdepasse==$admin_pass)&&($login==$admin_username))
    {
    setcookie("proaccess","identok",time()+7200,"");
    header("location: choix.php");
    }
    else
    {
    header("location: administrateur.php");
    }
    ?>
    Lorsque l'internaute se connecte correcetment je souhaite qu'il puisse se rendre directement à la page : choix.php

    Il n'y a donc qu'un seul appel à header "location: choix.php si le login et le mot de passe sont juste.
    Sinon il reviens à la page administrateur.php

    Sur un site il est expliqué qu'il est impossible d'ajouter des informations à l'en-tête - l'en-tête a déja été envoyé (la sortie à débuté par le script [script1]). Erreur détectée dans [script2] à la ligne [line].

    Je reste dans l'inconnu !

    dolphi

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    salut siddh


    montre moi le fichier dans lequel il te dit que les headers sont envoyés
    : J'ai pas bien compris ce que tu me demande ?

  11. #11
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    non c est bon tu viens de le faire


    commente ton setCookie pour voir
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Dans le manuel php il est expliqué ceci :

    setcookie() définit un cookie qui sera envoyé avec le reste des en-têtes. Les cookies doivent passer avant tout autre en-tête (c'est une restriction des cookies, pas de PHP). Cela vous impose d'appeler cette fonction avant toute balise <html> ou <head>. Si quelque chose a été envoyé avant l'appel à cette fonction, setcookie() échouera et retournera FALSE. Si setcookie() réussi, elle retournera TRUE. Cela n'indique pas si le client accepte ou pas le cookie.

    Sinon, j'ai créé un cookie ...

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    t as essayé de le commenter ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Tu peux préciser ?
    Que veut tu dire par commenter setcookies ?

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

    Informations forums :
    Inscription : Août 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Je veux pas paraître idiot mais je trouve absolument pas la réponse à mon problème.

    Il n'y a aucun espace ni aucun balise html , puis que je n'ai ecris que du php, alors où est le problème ?

  16. #16
    Membre actif Avatar de bigsister
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 314
    Points : 265
    Points
    265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //setcookie&#40;"proaccess","identok",time&#40;&#41;+7200,""&#41;;

  17. #17
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    met // devant setCookie
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/08/2011, 12h59
  2. Probleme de redirection avec Header
    Par ehmppowa dans le forum Langage
    Réponses: 7
    Dernier message: 28/12/2006, 19h26
  3. [MySQL] Redirection après formulaire ne fonctionne pas
    Par Solexensolo dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/12/2006, 14h46
  4. [PHP-JS] Problème de redirection avec header
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 02/09/2006, 19h01
  5. besoin aide bouton avec effet zoom fonctionne pas.
    Par zicomoun dans le forum Flash
    Réponses: 3
    Dernier message: 13/06/2006, 09h15

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