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 :

les sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 87
    Par défaut les sessions
    bonjour,

    j'aimerais savoir: ca veut dire quoi cette erreur là??


    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\sondage\verif_login.php:10) in c:\program files\easyphp1-8\www\sondage\verif_login.php on line 17

    voilà mon 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    $login=$_POST['login'];
    $pwd=$_POST['pwd'];
     
    session_start() ;
    session_register("login");
     
     
    $conn = mysql_connect("localhost", "root", "")
    or die("Impossible de se connecter : " . mysql_error());
    print ("Connexion r&eacute reussie.<BR>");
    /* Sélectionne une base de données MySQL.
    Si aucun identifiant de connexion n'est spécifié, la dernière connexion est utilisée.
    */
    mysql_select_db ("sondage", $conn) or die ("Impossible d'accéder à la base de données");
    print ("Accès BD Ok<BR>");
     
    $sql="Select * From utilisateurs ";
    $rs=mysql_query($sql, $conn) or die ("Requête invalide");
    while($val=mysql_fetch_row($rs) )
    {
        if($val[0] == $login)
        {
            if($val[1] == $pwd)
            {
                echo "connection réussi pour $login ";
                if($val[2]!=1)  //si le staut est egale à 1, c'est que le user a deja voté
                {
                    echo "vous pouvez voter";
                    //selon son année d'étude, le rediriger vers le sondage de son année
                    //<a href="sondage.html">Sondage</a>
                }
                else echo "vous avez deja voté";
            }
            else echo "mauvais login ou mot de passe ";
        }
    }
    merci d'avance

  2. #2
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    aïe moi aussi j'ai beaucoup de problème avec les sessions !!

    Je sais pas si ça va t'aider mais dans la FAQ
    cette erreur est cité :


    Avoir déjà écrit dans la page
    Warning: Cannot send session cookie - headers already sent by (output started at /home/SiteWeb/SiteAnalyse/index.php:3) in /home/SiteWeb/SiteAnalyse/index.php on line 6
    Cette erreur survient lorsqu'on tente d'ouvrir une session après avoir déjà écrit dans le document, ce qui interdit, bien sûr.

  3. #3
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    salut,
    cela veut dire qu'il y a eu une instruction d'affichage avat ton session_start(); (echo ou autre). et avant de me dire que la dans ton code, t'as pas mis d'echo, verifie bien qu'il n'ya pas d'espace mal placé ou desaut de ligne avant l'ouverture de ta balise php... (car cela equivaut à un affichage)

  4. #4
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $login=$_POST['login'];
    $pwd=$_POST['pwd'];
     
    session_start() ;
    session_register("login");


    le session_start() se place en haut de ta page, avant tout !!
    même avant <html>
    ta page doit donc commencer par : <?php session_start(); ?>

  5. #5
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    corrige-moi si je me trompe, mais theoriquement, sa declaration de variable ne devrait pas gener la session, puisqu'il ne s'agit pas d'afficher quoi que ce soit. tant qu'il n'y a pas d'affichage ça devrait aller (mm principe pour les header par exemple).

    Cela dit, c'est une bonne habitude a prendre, mettre session_start() avant tout.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 87
    Par défaut
    Citation Envoyé par dj-julio
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $login=$_POST['login'];
    $pwd=$_POST['pwd'];
     
    session_start() ;
    session_register("login");


    le session_start() se place en haut de ta page, avant tout !!
    même avant <html>
    ta page doit donc commencer par : <?php session_start(); ?>
    merci bien, il ne me met plus de warning mnt!

  7. #7
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Citation Envoyé par dj-julio
    le session_start() se place en haut de ta page, avant tout !!
    J'étais venu là pour aider mais en fait c'est moi qui ai été aidé merci merci

    Pour info j'avais cette erreur :

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\situ\select.php:4) in c:\program files\easyphp1-8\www\situ\select.php on line 4
    Dû au fait que mon session_start() était la 2ème ligne de code du site (mais 1ère php)

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

Discussions similaires

  1. [Sécurité] securite avec les sessions.
    Par krapoulos dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2005, 14h41
  2. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 15h19
  3. [Sessions] Les sessions multi-applications
    Par brazza dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2005, 17h53
  4. les sessions PHP
    Par smh_master dans le forum Langage
    Réponses: 4
    Dernier message: 31/08/2005, 14h13
  5. PB Réseau sur les sessions ouvertes ?
    Par nico___23 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2005, 09h50

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