Bonjour à tous
Mon script a pas mal de condition et j'aimerai le simplifier mais j' ai assez du mal entre
les controles de formulaire
la connection à la base
l insertion à la base
les controles des infos existant dans la base
les informations d' erreurs de connection
je vous montre le code
Code PHP :
html>
<head>
<title> Inscription !!</title>
</head>
<body>
<html>
<head>
<title>< Inscrivez vous !!!!</title>
</head>
<body>
<h1> Inscription</h1>
<form action="insert_client.php" method="post">
<table border="0">
<tr>
<td>Civilité</td>
<td>Monsieur : <input type="radio" name="sexe" value="Monsieur" >
Madame : <input type="radio" name="sexe" value="Madame">
Mademoiselle : <input type="radio" name="sexe" value="mademoiselle"><br/></td>
</tr>
<tr>
<td>Prénom</td>
<td><input type="text" name="prenom" value="<?php echo @$_POST['prenom']; ?>"><br/></td>
</tr>
<tr>
<td>Nom</td>
<td><input type="text" name="nom" value="<?php echo @$_POST['nom']; ?>"><br /></td>
</tr>
<tr>
<td>Mot de Passe</td>
<td><input type="password" name="mdp" value="<?php echo @$_POST['mdp']; ?>"><br /></td>
</tr>
<tr>
<td>Mot de Passe</td>
<td><input type="password" name="mdp2" value="<?php echo @$_POST['mdp2']; ?>"> ( Vérification )<br/></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" value="<?php echo @$_POST['email']; ?>"><br/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Enregistrer"></td>
</tr>
</table>
</form>
<?php
/*controle formulaire*/
$sexe=@$_POST['sexe'];
$prenom = @$_POST['prenom'];
$nom = @$_POST['nom'];
$mdp = @$_POST['mdp'];
$mdp2 = @$_POST['mdp2'];
$email = @$_POST['email'];
$err=null;
if(isset($_POST)){
if( empty($_POST['sexe'])) $err.= "vous n'avez pas précisé votre civilité !<br/>";
if( empty($_POST['prenom']) ) $err.= "vous n'avez pas précisé votre prénom !<br/>";
if( empty($_POST['nom']) ) $err.= "vous n'avez pas précisé votre nom !<br/>";
if( empty($mdp) ||(empty($mdp2) ) ) {$err.= "vous n'avez pas précisé votre Mot de passe ou/et celui de Vérification !<br/>";}
elseif( $mdp != $mdp2 ) {
$err.= "Les mots de passe que vous avez renseigné sont différents - Reformulez-les !<br/>";}
if ( empty($email) ) {
$err.= "vous n'avez pas renseigné votre email !<br/>";}
elseif(!ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $email)){
$err.= "Le format de votre adresse Email doit être de format correct !<br/>";}
}
/*pas d'erreurs on fait ...*/
if($err==null){
/*connection base*/
$db = mysql_connect('localhost', '','');
mysql_select_db('');
/*controle si le nom et le prenom existe dans la base*/
$requete = mysql_query("SELECT* FROM utilisateurs WHERE nom = '".$nom."' and prenom = '".$prenom."'");
$nb=mysql_fetch_row($requete);
if($nb>0){
echo"ce nom est déja pris";
exit;}
/*controle si l adresse email existe dans la base*/
$requete = mysql_query("SELECT* FROM utilisateurs WHERE email= '".$email."'");
$nb=mysql_fetch_row($requete);
if($nb>0){
echo"email est déja pris";
exit;}
/*insertion dans la base*/
$requete ="INSERT INTO utilisateurs values ('".$sexe."','".$prenom."','".$nom."', sha1('".$mdp."'), '".$email."')";
$resultat =mysql_query($requete);
if ($resultat){
echo mysql_affected_rows($db);
echo "<meta http-equiv='refresh' content='0; url=index.php'>";
}
else {echo" Le service est temporairement indisponible, veuillez nous en excuser !";
}
mysql_close($db);
}else{
echo $err;
/*eventuellement une redirection ?*/
}
?>
</body></html>
voila il y pas mal de condition et je n arrive pas à les limiter pour rendre le code plus simple.
Si quelqu un peut m aider ?
Merci d avance
lorant