problème zone membre
Posté : 22 nov. 2008, 18:02
Bonjour,
j'ai quelques problèmes avec ma zone membre,
premièrement : lorsque je m'inscrit, les données sont bien transmise a la bdd mais j'ai le message suivant :
merci
SiniZoWn
j'ai quelques problèmes avec ma zone membre,
premièrement : lorsque je m'inscrit, les données sont bien transmise a la bdd mais j'ai le message suivant :
deuxièmement : lorsque j'essaie de me conecter avec ses identifiants, j'ai le message suivant :Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/pulsion/www/membre.php:1) in /home/pulsion/www/membre.php on line 2
Bienvenuesiny!
Déconnexion
Warning: Cannot modify header information - headers already sent by (output started at /home/pulsion/www/index.php:8) in /home/pulsion/www/membre_index.php on line 23Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/pulsion/www/index.php:8) in /home/pulsion/www/membre_index.php on line 21
http://www.pulsion.tonsite.biz/index.php<?php // on inclut l'affichage de nos news include ('membre_index.php'); ?>
membre_index.php<?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect (**', 'pulsion', '**'); mysql_select_db('**', $base); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $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 visiteur 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.'; } } ?> <form action="index.php" id="connection" method="post"> <p> <input type="text" id="log" name="login" class="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"> <input type="password" id="pass" name="pass" class="text" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"> <input type="submit" id="sub1" name="connexion" value="Connexion" /> <a href="inscription.php" id="ca1" title="Register">register</a> <?php if (isset($erreur)) echo '<br /><br />',$erreur; ?> <a href="#" id="ca2" title="Lost password ?">lost password ?</a> <a href="#" id="ca3" title="users list">users list</a> </p></form>
membre.php:deconnexion.php:<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location:membre_index.php'); exit(); } ?> <html> <head> <title>Espace membre</title> </head> <body> Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br /> <a href="deconnexion.php">Déconnexion</a> </body> </html><?php session_start(); session_unset(); session_destroy(); header('Location: membre_index.php'); exit(); ?>
et inscription.php:<?php // on teste si le visiteur a soumis le formulaire if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { // on teste l'existence de nos variables. On teste également si elles ne sont pas vides if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { // on teste les deux mots de passe if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('**', '**', '**'); mysql_select_db('**', $base); // on recherche si ce login est déjà utilisé par un autre membre $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); if ($data[0] == 0) { $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); session_start(); $_SESSION['login'] = $_POST['login']; header('Location: membre.php'); exit(); } else { $erreur = 'Un membre possède déjà ce login.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head> <title>Inscription</title> </head> <body> Inscription à l'espace membre :<br /> <form action="inscription.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br /> <input type="submit" name="inscription" value="Inscription"> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> </body> </html>
merci
SiniZoWn