Je viens vers vous aujourd'hui car j'ai un formulaire d'inscription qui, quand je l'envoie, me donne les erreurs suivantes:
Code : Tout sélectionner
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/xxxx/public_html/xxx/inscription.php:1) in /home/xxxx/public_html/xxxx/inscription.php on line 25Code : Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at /home/xxxx/public_html/xxxx/inscription.php:1) in /home/xxx/public_html/xxxx/inscription.php on line 27<?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 ꨡlement 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', 'xxx', 'xxx');
mysql_select_db ('xxx', $base);
// on recherche si ce login est dꫠ utilis顰ar 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']).'", "'.mysql_escape_string(md5($_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.';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>Inscription</title>
</head>
<body>
<?php if (isset($erreur)) echo $erreur; ?>
<form action="inscription.php" method="post">
<table>
<tr>
<td>Nom d'utilisateur</td> <td><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td>
</tr>
<tr>
<td>Mot de passe</td><td><input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></td>
</tr>
<tr>
<td>Répéter le mot de passe</td><td><input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"></td>
</tr>
<tr><td><input type="submit" name="inscription" value="Inscription"></td></tr>
</table>
</form>
</body>
</html>
Qui pourrait éclaircir ma lanterne ? Il faut savoir aussi que j'ai lu qui fallait mettre la session start au début. Ce que j'ai fait, mais qui plante tout mon code.MERCI BEAUCOUP D'AVANCE