par
SinY » 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 :
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
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/index.php:8) in /home/pulsion/www/membre_index.php on line 21
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 23
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:
<?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>
deconnexion.php:
<?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>
http://www.pulsion.tonsite.biz/
merci
SiniZoWn
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 :
[quote]
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
[/quote]
deuxièmement : lorsque j'essaie de me conecter avec ses identifiants, j'ai le message suivant :
[quote]
Warning: 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[/quote]
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 23
[quote]
index.php
[php]
<?php
// on inclut l'affichage de nos news
include ('membre_index.php');
?>
[/php]
membre_index.php
[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>
[/php]
membre.php:
[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]
deconnexion.php:
[php]
<?php
session_start();
session_unset();
session_destroy();
header('Location: membre_index.php');
exit();
?>
[/php]
et inscription.php:
[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>
[/php][/quote]
http://www.pulsion.tonsite.biz/
merci ;)
SiniZoWn