Ce n'est pas que sur cette ligne. As-tu fait ce que je t'ai conseillé de faire ?
Autant partir sur un code qui soit propre dès le départ.
if (!sql)
{
message = " impossible ...."
}
voici donc le code actualiser
<?php
include ('connect_bdd.php');
if (isset($_post['nom'])&& isset($_post['prenom'])&& isset($_post['age'])&& isset($_post['ville'])&& isset($_post['mail']) && isset($_post['login'])&& isset($_post['password'])&& isset($_post['confirmation'])&& isset($_post['Os'])){
extract ($_post);
}
if (!empty($_post) && !empty($_post) && !empty($_post) && !empty($_post))
{
$message = "veuillez remplir les case";
}
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_post["login"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caracteres<br />\n";
}
else if(!ereg("^[A-Za-z0-9]{4,}$", $_post["password"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caracteres";
}
else if($_post["password"] != $_post["confirmation"])
{
$message = "Votre mot de passe n'a pas ete correctement confirme";
}
else if(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",$_post["mail"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{
$sql = mysql_query("
SELECT login,mail
FROM membre
WHERE login = '" . $_post["login"] . "'
OR mail = '" . $_post["mail"] . "'");
}
//probleme se trouve par ici je crois
if (!$sql)
{
$message =" Impossible de verifier votre authenticiter";
}
else
{
if (mysql_num_rows($sql) > 0)
{
while($row = mysql_fetch_array($sql))
{
if($_post["login"] == $row["login"])
{
$message = "Le nom d'utilisateur " . $_post["login"];
$message .= "est deja utilise";
}
else if($_post["mail"] == $row["mail"])
{
$message = "L'adresse mail " . $_post["mail"];
$message .= "est deja utilisee";
}
}
// Création du compte utilisateur
$sql = mysql_query("
INSERT INTO membre(
nom
, prenom
, age
, ville
, mail
, login
, password
, Os
)
VALUES(
'" . $_post["nom"] . "'
,'" . $_post["prenom"] . "'
,'" . $_post["age"] . "'
,'" . $_post["ville"] . "'
,'" . $_post["mail"] . "'
,'" . $_post["login"] . "'
,'" . md5($_post["password"]) . "'
,'" . $_post["Os"] . "'
)
");
if ($sql === true)
{
$message = "la compte viens d'etre creer";
$message .= '<a href="index.php"> Retour</a>';
}
else
{
$message =mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
}
}
?>
<html>
<head><title>session d'enregistrement</title></head>
<body>
<link rel="stylesheet" type="text/css" title="design" href="design.css" />
<form method="post" action="#" class="css">
<fieldset>
<legend><b>Vos cordonnees</b></legend>
<table>
<tr><td><label>Nom : </label></td><td><input type="text" class="nom" name="nom" id="form_nom" size="20"maxlenght="20"/>
</td></tr></p>
<tr><td><label>prenom : </label></td><td><input type="text" name="prenom" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Age : </label></td><td><input type="text" name="age" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Ville : </label></td><td><input type="text" name="ville" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Mail : </label></td><td><input type="text" name="mail" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Login : </label></td><td><input type="text" name="login" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Password : </label></td><td><input type="password" name="pass" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>confirmation du password : </label></td><td><input type="password" name="confirm" size="20"maxlenght="20"/>
</td></tr>
<tr><td><label>Os utilise : </label></td><td><input type="text" name="Os" size="20"maxlenght="20"/>
</td></tr>
</table>
<tr></fieldset>
<td><input type="reset" value=" effacer " ></td>
<td><input type="submit"value=" Envoyer " name="envoyer"></td>
<p>
<?php echo $message ?>
</p>
Et en plus fait gaffe le breton est dans le coinSi un enregistrement se fait à chaque rechargement de ta page c'est que tes conditions ne sont pas prises en compte.
Tu détectes en premier lieu l'action submit avec un isset($_POST['envoyer']) pour dire Si on clique sur envoyer on agit.
Ensuite tu fais tes conditionsif { //erreur1 } elseif { //erreur2 } elseif { //erreur3 } else { //insertion données }
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.