Partage
  • Partager sur Facebook
  • Partager sur Twitter

sessions

un message d'erreur malgré...

    27 novembre 2005 à 15:14:29

    Bonjour à tous
    je suis tres ravi de revoir notre beau site avec sa nouvelle jeunesse.Felicitations .
    Malgré que je commence certaines de mes pages php par session_start(); , et malgré que le contenu de la variable $_SESSION passe et se positionne là où je veux le placer (sur easyphp) , mais un message d'erreur s'affiche quand même :
    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\tarika\forums.php:2) in e:\tarika\forums.php on line 3.
    Ici line 3 c'est uniquement du vide avant <?
    Merci d'avance mes amis de bien vouloir m'expliquer le sens de ce message.
    Salut
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2005 à 15:20:43

      Et tu peux les afficher après tes variables SESSSIONS ?
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2005 à 15:23:01

        Tu n'inclus pas ta page dans une autre qui afficherait quelque chose avant d'utiliser le session_start(); ?
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2005 à 16:22:32

          Salut,

          Pour vérifier, le mieux serait que tu nous montres le code de la page incriminée ;) Comme ça on pourra mieux t'aider et découvrir l'erreur :)

          A+
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2005 à 16:34:15

            montre nous la partie du code
            afin que l'on puisse éventuellement t'aider :)
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2005 à 16:36:17

              Citation : Snipefire

              montre nous la partie du code
              afin que l'on puisse éventuellement t'aider :)



              C'est ce que je viens de dire >_<
              • Partager sur Facebook
              • Partager sur Twitter
                27 novembre 2005 à 18:51:10

                Salut et merci
                Voici la page dans laquelle est créée la session :

                <?


                $mysql_host = 'localhost';
                $mysql_user = 'root';
                $mysql_password = '';
                $mysql_base = 'mabase';

                $db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

                mysql_select_db($mysql_base,$db) or die ("erreur de connexion
                base");

                if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
                extract($_POST);

                $sql = "select mdp from membre where login='$login'";
                $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

                $data = mysql_fetch_assoc($req);

                if($data['mdp'] != $pass) {

                include('login1.php');
                exit;
                }
                else {
                session_start();
                $_SESSION['login'] = $login;

                include('entete1.html');

                echo'<br>salut <b>'.$login.'</b>.<br>Nous vous souhaitons de bons moments avec nous<img src="image\flr8.bmp" style="position:absolute ;top:290px;left:330px" >';

                }
                }
                else {

                include('login2.php');
                exit;
                }


                ?>

                et voici une page parmi d'autres danslesquelles le message d'erreur apparait (mais la variable est quand même affichée)


                <?
                session_start();

                include('entete2.html');?>



                <html>
                <head>

                <link rel="stylesheet" type="text/css" href="css\forum.css"/>

                </head>

                <div class="cadre">

                <div class="titre"> </div><br>

                <div class="bande"></div>

                <table>
                <tr>

                <th width="280px"></th>
                <th width="15px"></th>
                <th width="280px"></th>
                <th width="15">&#1585;&#1602;&#1605;</th>
                </tr>

                //c'est ici ma session

                <tr align="center">

                <td width="200px">
                <? print $_SESSION['login'];?>

                </td>
                <td width="15px">0</td>
                <td width="250px" align="right"><a href="forum\resumer.php"></a></td>
                <td width="15px">1</td>
                </tr>


                <tr align="center">

                <td width="200px">0</td>
                <td width="15px">0</td>
                <td width="250px"align="right"><a href="forum"></a></td>
                <td width="15px">3</td>
                </tr>

                </table>

                </div>


                Dans la cellule <td> je reçois le pseudo du visiteur , et en haut c'est l'erreur.
                Comment faire s'il vous plait.
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2005 à 18:58:35

                  Tu dois placer ton session_start(); au début de ton script, et pas au milieu, comme c'est le cas ;)

                  ++
                  aimak

                  Edit : ah oui t'as raison. J'avais pas vu :( . Comme quoi il faut toujours utiliser la coloration, ça évite les réponses qui n'avancent à rien :-°
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 novembre 2005 à 17:33:24

                    Citation : aimak

                    Tu dois placer ton session_start(); au début de ton script, et pas au milieu, comme c'est le cas ;)

                    ++
                    aimak



                    Salut,

                    Son session_start() est au début de sa page qui a un problème o_O , donc pas de soucis de ce coté-là.
                    Ce qui est bizarre c'est que ta variable est quand même affichée même avec un erreur... :o

                    Je continue de chercher et je te tiens au courant ;)

                    ++

                    EDIT : peux-tu nous donner le contenu des pages entete1.html et entete2.html ? (entre les balise zCode, c'est plus facile à comprendre ;) ) ++
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 novembre 2005 à 17:39:11

                      Met des balises "Code > PHP" (< code type="php"> </ code>) comme tout le monde, et dis nous si tu as un espace ou un saut de ligne avant ta balise ouvrante <?php
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 novembre 2005 à 17:44:11

                        J'avais eu un pb comme ça.
                        Je sais plus qui (pas ici) m'avait dit de crée un dossier session.

                        J'ai fait et ça marchais très bien...

                        essaye ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 novembre 2005 à 17:48:20

                          Oui mais ca c'est juste s'il est sous free, et qu'il a pas pris la peine de lire la FAQ free (c'est vrai, ca sert a quoi les FAQ, quand les gentils zeros vont repondre a la place ?).
                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 novembre 2005 à 19:25:29

                            Voici ton code PHP :

                            <?


                            $mysql_host = 'localhost';
                            $mysql_user = 'root';
                            $mysql_password = '';
                            $mysql_base = 'mabase';

                            $db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

                            mysql_select_db($mysql_base,$db) or die ("erreur de connexion
                            base"
                            );

                            if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
                            extract($_POST);

                            $sql = "select mdp from membre where login='$login'";
                            $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

                            $data = mysql_fetch_assoc($req);

                            if($data['mdp'] != $pass) {

                            include('login1.php');
                            exit;
                            }
                            else {
                            session_start();
                            $_SESSION['login'] = $login;

                            include('entete1.html');

                            echo'<br>salut <b>'.$login.'</b>.<br>Nous vous souhaitons de bons moments avec nous<img src="image\flr8.bmp" style="position:absolute ;top:290px;left:330px" >';

                            }
                            }
                            else {

                            include('login2.php');
                            exit;
                            }


                            ?>
                            n
                            Je te conseillerais de mettre le sessions start non pas apres le else mais totu au debut de la page ! sinon si ça ne marche pas excusez-moi
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Web Developer

                            sessions

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown