le 24/11/2007 à 20:15
helly
Bonjour à tous!
J'ai décidé de prendre la source de l'espace membres proposée sur ce site et de l'adapter pour le site d'un ami.
Tout marche très bien, sauf que j'aurais besoin d'ajouter des champs au formulaire d'inscription et que les données insérées dans ces derniers ne sont pas enregistrés dans la base.
Voici mon code:
Le résultat de tout ça est une page blanche (le script ne va donc pas jusqu'à la redefinition du header) et que les trois premiers champs enregistrés dans la base de données.
J'ai essayé tout un tas de trucs mais rien ne marche et je ne sais pas où j'ai fait une boulette.
Merci d'avance pour votre aide :)
J'ai décidé de prendre la source de l'espace membres proposée sur ce site et de l'adapter pour le site d'un ami.
Tout marche très bien, sauf que j'aurais besoin d'ajouter des champs au formulaire d'inscription et que les données insérées dans ces derniers ne sont pas enregistrés dans la base.
Voici mon code:
inscription
<form method="post" action="valid_ok.php">
Login<br><input name="login" type="text" size="20" maxlength="12" />
<br>
Password<br><input name="password" type="text" size="20" maxlength="12" />
<br>
Verification<br><input name="pass_confirm" type="text" size="20" maxlength="12" />
<br>
email<br><input name="email" type="text" size="20" maxlength="50" />
<br>
Code<br><input name="code" type="text" size="10" maxlength="10" />
<br>
Début<br><input name="debut" type="text" size="8" maxlength="8" />
<br>
Fin<br><input name="fin" type="text" size="8" maxlength="8" />
<br>
FAI<br><input name="fai" type="text" size="20" maxlength="20" />
<br><br>
<input type="submit" name="inscription" value="Inscription" /></form>
valid_ok.php
<?php
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['code']) && !empty($_POST['code'])) && (isset($_POST['debut']) && !empty($_POST['debut'])) && (isset($_POST['fin']) && !empty($_POST['fin'])) && (isset($_POST['fai']) && !empty($_POST['fai']))) {
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('SERVEUR', 'USER', 'PASS');
mysql_select_db ('NOMBASE', $base);
$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 (id,login,pass_md5,email,code,debut,fin,fai) VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['code']).'", "'.mysql_escape_string($_POST['debut']).'", "'.mysql_escape_string($_POST['fin']).'", "'.mysql_escape_string($_POST['fai']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
header('Location: index.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
Le résultat de tout ça est une page blanche (le script ne va donc pas jusqu'à la redefinition du header) et que les trois premiers champs enregistrés dans la base de données.
J'ai essayé tout un tas de trucs mais rien ne marche et je ne sais pas où j'ai fait une boulette.
Merci d'avance pour votre aide :)