le 04/02/2005 à 14:17
bounn
Re bonjour, voici mon souci apres mon probleme de sessions start, j'ai décidé de faire mon code comme ceci, ce qui est meme plus simple:
et voici mon erreur : Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/9/0/ledey.florian/test/index.php:5) in /var/www/free.fr/9/0/ledey.florian/test/index.php on line 47
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/9/0/ledey.florian/test/index.php:5) in /var/www/free.fr/9/0/ledey.florian/test/index.php on line 49
<?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 ('localhost', '****', '****');
mysql_select_db ('test', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.''.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 :
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>">
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>">
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>">
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '',$erreur;
?>
</body>
</html>
et voici mon erreur : Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/9/0/ledey.florian/test/index.php:5) in /var/www/free.fr/9/0/ledey.florian/test/index.php on line 47
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/9/0/ledey.florian/test/index.php:5) in /var/www/free.fr/9/0/ledey.florian/test/index.php on line 49