par
nono92 » 22 déc. 2005, 23:32
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
Bonjour,
J'essaye de faire un espace membre pour un site, mais a la connexion il me donne tjrs cette erreur :
[quote]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[/quote]
Mon code est :
[php]<?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.';
}
?>[/php]
Merci de votre aide
NoNo