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 :

headers déjà envoyés


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut headers déjà envoyés
    Bonjour à tous

    J'ai effectué des recherches avant d'en venir à vous le demander... j'obtien ces erreurs lorsque j'essaie d'exécuter mon script:

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homepages/15/d250700788/htdocs/Football/index.php:1) in /homepages/15/d250700788/htdocs/Football/index.php on line 68

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/15/d250700788/htdocs/Football/index.php:1) in /homepages/15/d250700788/htdocs/Football/index.php on line 68

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/15/d250700788/htdocs/Football/index.php:1) in /homepages/15/d250700788/htdocs/Football/index.php on line 70

    J'ai cherché et révisé mon code mais rien n'a pu régler les erreurs... peut-etre que vous, vous y verrez quelque chose!!


    Code PHP : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
     
     <?php
     
    //Si on a soumit le formulaire, on peut se connecter aux bases, seulement si
    //on a quelque chose dans les champs de connexion
    if((isset($_POST['name']))&&($_POST['name']!="")&&($_POST['password']!="")){
    //  Importer les fonctions nécessaires pour le script
    //  ----------------------------------------------------------------------------
     $link = mysql_connect("db376133249.db.1and1.com","dbo376133249","Android11");
     $connect = mysql_select_db("db376133249",$link);
     
    //  ----------------------------------------------------------------------------
    //on va chercher si le login est existant
    $SQL = "SELECT ID FROM Poolers WHERE Login='".$_POST['name']."'";
    $RQ = mysql_query($SQL);
          if(mysql_num_rows($RQ)==0){
            $Err = "<font color='red'><b>Aucun utilisateur n'est enregistré sous '".$_POST['name']."'.</b></font>";
     
          }
    ////////////////////////////////////////////////
          if(mysql_num_rows($RQ)>0){
            //On a trouvé un compte avec ce login.  on va chercher le mot de passe, le id et si le pooler est actif
            $SQL_mp = "SELECT ID,Code,Actif FROM Poolers WHERE Login='".$_POST['name']."';";
            $RQ_mp = mysql_query($SQL_mp);
            $FA_mp = mysql_fetch_array($RQ_mp);
     
            //si le pooler est désactivé:
            if($FA_mp['Actif']=="faux"){
                $Err =  "<font color='red'><b>Le compte '".$_POST['name']."' n'est pas un compte valide.</b></font>";
                $Ok = "Exit";
            }
     
            //Si le compte n'est pas désactivé, vérifier le mot de passe
            if($Ok!="Exit"){
              //Si le mot de passe n'est pas ok
              if(md5($_POST['password'])!=$FA_mp['Code']){
                   $Err = "<font color='red'><b>Erreur dans le mot de passe.</b></font>";
              }
              //Si le mot de passe est ok
              if(md5($_POST['password'])==$FA_mp['Code']){
     
                    //Est-ce qu'on doit enregistrer le login dans un cookie?
                    if($_POST['cookie']=="Oui"){
                        //Cookie qui va expirer dans 2 mois
                        $Expiration = 60 * 60 * 24 * 60 + time(); 
                      //  setcookie('permausrid',$_POST['name'],$Expiration);
                    }
     
                    session_start();
                    $_SESSION['usrid']=$FA_mp['ID'];
                    header('Location: Pool.php');
              }        
     
            }
     
          }
     
     
    ////////////////////////////////////////////////
     
    }
     
    //Aller vérifier si on a le username dans le cookie
    if(isset($_COOKIE['permausrid'])){
       $name = $_COOKIE['permausrid']; 
       $ck = "checked='checked'";
    }
     
    //Prendre le username si on vient d'envoyer le formulaire
    if(isset($_POST['name'])){
       $name = $_POST['name']; 
    }
     
       ?>
     
    <HTML>
    <HEAD><TITLE>Login</TITLE>
      <style type="text/css">
     
    * {
     border:none; 
     margin:0; 
     padding:0;
    }
    body {
     background:#fff; 
     color: #000; 
     font:12.35px Georgia, Arial, "Lucida Grande", Verdana, sans-serif;
    }
    a:link. a:visited {
     color:#0054a6;
     text-decoration:none; 
    }
    a:hover {
     text-decoration:underline
    }
    h1 {
     font-size:20px;
     margin-bottom:20px; 
    }
    #wrap {
     margin:10px auto;
     width:900px; 
    }
    p {
     margin:15px 0;
    }
    #header {
     margin-bottom:20px;
    }
    label {
     display:block; 
     padding-bottom:5px; 
     margin-top:20px;
    }
    #contactform {
     width:900px; 
     overflow:hidden;
    }
    #contactform li {
     list-style:none; 
     padding-bottom:20px;
    }
    #contactform li .fieldbox {
     background:transparent url(images/subfield.jpg) no-repeat top left; 
     float:left; 
     height:27px; 
     padding-left:5px;
    }
     
    #contactform li .fieldbox input {
     background:transparent url(images/subfield.jpg) no-repeat top right; 
     height:27px; 
     padding-top:5px;
     width:400px;
    }
    #contactform li .fieldbox #contact {
     width:200px;
    }
    #contactform li .msgbox {
     background:transparent url(images/msgfield.jpg) no-repeat top left; 
     float:left; 
     height:110px; 
     padding-left:5px;
    }
    #contactform li .msgbox textarea {
     background:transparent url(images/msgfield.jpg) no-repeat top right; 
     height:110px;
     padding-top:5px;
     width:500px;  
    }
    #sendbutton {
     background:#08088A; color:#fff; 
     cursor:pointer;
     padding:5px 10px; 
     -moz-border-radius:4px;
     -webkit-border-radius:4px
    }
     
     
      </style>
    </HEAD>
    <body>
     <center><table><td><tr>
     <div id="wrap">
      <form action="index.php" method="post">
       <ul id="contactform">
        <li>
          <?PHP Print $Err; ?>
         <label for="name">Nom de pooler</label>
         <span class="fieldbox"><input type="text" name="name" id="name" value="<?PHP Print $name; ?>"/></span>
        </li> 
        <li>
         <label for="email">Mot de passe</label>
         <span class="fieldbox"><input type="password" name="password" id="password" value=""/></span>
        </li>
        <li>
         <label for="cookie">Retenir le login et mp sur cet ordinateur</label>
         <span class="fieldbox"><input type="checkbox" <?PHP Print $ck; ?> name="cookie" id="cookie" value="Oui"/></span>
        </li>
       </ul>
       <br>
       <input type="submit" value="Connecter" id="sendbutton" name="sendbutton"/> 
       <input type='hidden' name='action' value='tryLogin'>
      </form>
     </div>    </tr></td></table> </center>
    </body>
     </html>

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    peut-etre que vous, vous y verrez quelque chose
    Dans l'état actuel des choses, c'est illisible, je ne sais pas si cela viens de chez moi ou non mais...
    EDIT : débuggé maintenant...
    Images attachées Images attachées  

  3. #3
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Edite parce que là ya un gros souci au niveau de ton code

    Ensuite, mets ton session_start() tout en haut de la page.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  4. #4
    Membre expérimenté Avatar de brachior
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 190
    Par défaut
    Il ne faut rien d'écrit avant ton appel à session_start ...
    Vérifie si ton fichier ne serait pas sauvegardé en UTF8 avec BOM (on sait jamais ^^)

  5. #5
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Citation Envoyé par brachior Voir le message
    Il ne faut rien d'écrit avant ton appel à session_start ...
    Je ne comprend pas, peux-tu expliquer un petit peu s'il te plait ?

  6. #6
    Membre expérimenté Avatar de brachior
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 190
    Par défaut
    Ouai, je sentais que je m'exprimais mal ^^
    Ce que je veux dire, c'est qu'il ne faut aucun affichage html entre le haut de la page et l'appel.
    Donc ni balise html, ni echo, ni écriture simple (erreur, warning, ou tout autre caractère dont le BOM).

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour faire court : écrit sur la première ligne de ton fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php session_start();
    // [... et la suite du code ...]
    ?>

  8. #8
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Je vais essayer de renvoyer vers une page 'login.php' qui elle, créera la session.

    Merci des conseils et des explications, c'est une subtilité de la session que je ne connaissait pas

Discussions similaires

  1. Probleme de Headers deja envoyer
    Par lucas093 dans le forum Langage
    Réponses: 7
    Dernier message: 27/03/2012, 10h23
  2. [JpGraph] Jpgraph 1.27 une astuce avec le header deja envoyé ?
    Par mims1664 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/02/2009, 18h36
  3. Redirection header deja envoye
    Par calitom dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2008, 14h00
  4. [Système] header déjà envoyé par défaut
    Par Tchupacabra dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2007, 12h48
  5. Réponses: 17
    Dernier message: 20/08/2006, 12h00

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