begin process at 2012 05 31 15:34:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions

mercredi 22 juin 2011 à 22:15:01 | simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions

lorant59

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
vendredi 1 juillet 2011 à 19:44:14 | Re : simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions

eltyty

Lut,

tu devrais faire découper en fonction :
-une qui affiche le formulaire style function showForm
-une qui contrôle style ctrlForm
-une fait l'action style actionForm

Comme ça tu n'as qu'à modifier actionForm pour une insertion, modif ou ajout. Ca rendra le code plus simple.
mardi 4 octobre 2011 à 14:19:22 | Re : simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions

lorant59

Bonjour,
En fait j ai regrouper l ensemble de la fonction pour qui regroupe le formulaire et la connection à la base afin d 'afficher les informations de la base ou des teste formulaire sur la meme page css.
Pour l instant je simplifie pas sinon mon css fonctionnera plus mais je le ferai plus tard.
Merci quand meme .
mercredi 5 octobre 2011 à 16:43:21 | Re : simplifier un controle de formulaire et de base ainsi une insertion dans une bdd en limitant les conditions

nemo_1

Bonjour,

Voici un exmple que je te propose pour les tests de tes inputs.

Après tu peux pousser/ameliorer ... la logique comme tu veux.

$required_fields = array('nom', 'sexe', 'prenom');
function check_required_fields($required_fields){
//tu mets $errors en global ici si tu l'utilise pour autre chose dehors ta function ou tu renvoie juste avec le return en fin de function
foreach($required_fields as $field){
if(empty($_POST[$field])){
$errors = array_merge($errors, $field);
}
}
return $errors;
}

Je m'excuse je n'ai pas de tester mais l'idée y est.

Tu fais un array avec tes inputs requis.

Tu fais une function qui verifie ces inputs

Et enfin tu verifie if(empty($errors)){//tout est ok}else{//Oooops}

Bon courage


Cette discussion est classée dans : base, mysql, email, err, if


Répondre à ce message

Sujets en rapport avec ce message

impossible de se connecter a la base sur mon systeme virtuel mais en ligne cela fonctionne [ par lorant59 ] bnnjour à tous et à toutes! jai mon fichier qui permet de valider mon formulaire mais impossible de se connecter à la base lorsque je suis sur mon sys inserrer des fichier ou images dans ma base de donne o en php (base mysql) [ par msi079 ] salut je veux insérer des images des victimes ( la base est créer pour identifier et enregistrer des victimes de guerre ) de guerre mais j'arrive pas. probleme formuliare [ par jinin ] Bonjours à Tous, j'ai fait un script php pour un formulaire d'inscription dans dans ma base données avec envoie d'email <div align="center" style="w Problème de Session avec base mysql [ par nooTe91 ] Bonjour,j'ai un petit problème avec les variables de sessions. J'ai déja fait des essais avec des variables et constantes en session avec le tutorial easyphp server [ par domi81 ] Bonjour,J'ai installé easyphp 3.0Je voudrais renseigné une base de données avec un formulaire mais ce message d'erreur apparait : Objet non trouvé!L'U Fonction vérification de doublons [ par kontas ] Bonjour a tous ! J'ai un script qui va verifier coté serveur mes info provenant d'un formulaire. seulement j'ai voulu r'ajouter un systeme permetant verif existance dans bdd [ par cseagle ] Bonjour à tous,J'ai une table MySql membres qui contient les infos des membres. A l'inscription je vérifie si l'email existe déjà dans la base auquel formulaire html, base de données MySQL , mail par php [ par a_sophie ] Voilà, j'ai nune base de données sous MySQL, un formulaire html où une fois les champs remplis devront aller ds la base. Par contre par la suite je de base de donnée avec mysql [ par alexpoeuf ] bonjour, j'au créer un formulaire type et une base de donnée sur php my admin, mais je n'arrive pas à les associer comment puis-je faire §? Merci d'av Probleme d'exécution d'un requete avec un parametre récupéré d'un lien ... [ par Poolky ] Salut à vous ... voila j'ai un petit problème avec l'exécution d'une requête "delete" contenant une variable que je passe par un lien. J'ai deux pages


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales