Page 1 sur 1

Problémes de sessions

Posté : 22 déc. 2005, 23:32
par nono92
Bonjour,
J'essaye de faire un espace membre pour un site, mais a la connexion il me donne tjrs cette erreur :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php:5) in /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php on line 133

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php:5) in /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php on line 133

Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php:5) in /var/www/free.fr/9/6/pcflash/mpi/espcli/verifLogin.php on line 135
Mon code est :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['password']) && !empty($_POST['password']))) {

       v pas donner les infosde connexion non plus ^^
        
        // on teste si une entrée de la base contient ce couple login / pass
        $sql = 'SELECT count(*) FROM utilisateurs WHERE login="'.addslashes($_POST['login']).'" AND password="'.addslashes($_POST['password']).'"';
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data = mysql_fetch_array($req);
        
        mysql_free_result($req);
        mysql_close();
        
        // si on obtient une réponse, alors l'utilisateur est un membre
        if ($data[0] == 1) {
            session_start();
            $_SESSION['login'] = $_POST['login'];
            header('Location: membre.php');
            exit();
        }
        // si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
        elseif ($data[0] == 0) {
            $erreur = 'Compte non reconnu.';
        }
        // sinon, alors la, il y a un gros problème :)
        else {
            $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
        }
    }
    else {
        $erreur = 'Au moins un des champs est vide.';
    }
?>
Merci de votre aide
NoNo

Posté : 22 déc. 2005, 23:48
par Truc
Salut, réponse dans la FAQ

elle est là pour ça :wink:

Posté : 22 déc. 2005, 23:49
par jeff
salut
tu doit avoir une sortie (html ou autre) a la ligne 5 de de veriflogin

Posté : 23 déc. 2005, 00:01
par nono92
je ne comprend pas desolé
mais mon code n'est pas comme sa dans le fichier c'est dans une page html
Et je ne comprends pas ce que je dois corrigé
@+
NoNo

Posté : 23 déc. 2005, 01:16
par Cyrano
Le session_start() doit se trouver avant tout envoi de la moindre information vers le navigateur : en clair, ton code doit impérativement commencer par:
<?php
session_start();
//.... suite du code
Pas de html avant ça, même pas un espace.

Posté : 23 déc. 2005, 12:08
par nono92
ok merci
@+
NoNo