Enregistrament des données dans une base de donne

Fermé
aamama Messages postés 29 Date d'inscription mercredi 29 janvier 2014 Statut Membre Dernière intervention 13 août 2014 - 25 févr. 2014 à 07:38
h4ckkids Messages postés 16 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 26 février 2014 - 26 févr. 2014 à 22:06
bonjours a tous le monde, j'ai une bd, dans cette base de donnees il y a une table utilisateur et les tables medecin, infirmier, caissier et administrateur. je veut que quand je coche le bouton radio "typeutilisateur" si c'est medecin if fa que certain enregistrements s'enregistre dans la table medecin. puis je avoir votre aide sur les code php. voici le code que je tente à ecrire:

mysql_connect("localhost", "root","" );//on se connecte à MySQL
mysql_select_db("memoire"); //On selectionne la base
if(isset($_POST['submit']))
{




$nomutilisateur= htmlspecialchars(trim($_POST['nomutilisateur']));
$prenomutilisateur= htmlspecialchars(trim($_POST['prenomutilisateur']));
$emailutilisateur = htmlspecialchars(trim($_POST['emailutilisateur']));
$login = htmlspecialchars(trim($_POST['login']));
$teleutilisateur= htmlspecialchars(trim($_POST['teleutilisateur']));
$residenceutiisateur = htmlspecialchars(trim($_POST['residenceutiisateur']));
$datenaissautilisateur = htmlspecialchars(trim($_POST['datenaissautilisateur']));
$password = htmlspecialchars(trim($_POST['password']));
$confirmerpw = htmlspecialchars(trim($_POST['confirmerpw']));
$dateengagement = htmlspecialchars(trim($_POST['dateengagement']));
$matricule = htmlspecialchars(trim($_POST['matricule']));
$gradeMed = htmlspecialchars(trim($_POST['gradeMed']));
$Idutilisateur = htmlspecialchars(trim($_POST['Idutilisateur']));
$Idservice = htmlspecialchars(trim($_POST['Idservice']));

$erreur=array();
$emailutilisateur=($_POST["emailutilisateur"]);


if(empty($nomutilisateur)){
$erreur['nomutilisareur']="nom est vide.";
echo 'nom est vide';
}

if(empty($prenomutilisateur)){
$erreur['prenomutilisateur']="prenom est vide.";
echo 'prenom est vide';
}
if(empty($emailutilisateur)){
$erreur['emailutilisateur']="mail est vide.";
echo 'mail est vide';
}


if(empty($teleutilisateur)){
$erreur['teleutlisateur']="tele est vide.";
echo 'tele est vide';
}

if(empty($datenaissautilisateur)){
$erreur['datenaissautilisateur']="date est vide.";
echo 'date est vide';
}
if(empty($login)){
$erreur['login']="login est vide.";
echo 'login est vide';
}

if(empty($password)){
$erreur['password']="password est vide.";
echo 'password';
}
if(empty($confirmerpw)){
$erreur['confirmerpw']="confirme est vide.";
echo 'confirmer';
}

if(empty($residenceutilisateur)){
$erreur['residenceutilisteur']="message est vide.";

}

if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$_POST['emailutilisateur']))
{

$erreur['emailutilisateur']='formatde votre adresse email est validé';

}else
{
echo 'L\'adresse ' . $_POST['emailutilisateur'] . ' n\'est pas valide,
recommencez !';
}

if (preg_match('#^(19|20)\d\d[\- /.](0[1-9]|1[012])[\- /.](0[1-9]|[12][0-9]|3[01])$#',$_POST['datenaissautilisateur'] )){



}else echo'format datenaissa incorrect';
if (preg_match('#^(19|20)\d\d[\- /.](0[1-9]|1[012])[\- /.](0[1-9]|[12][0-9]|3[01])$#',$_POST['dateengagement'] )){
}else echo'format dateengage incorrect';
if(preg_match(''(22|79|71|76|75|77)[0-9]{6}'',$teleutilisateur));else echo 'format tele incorrect';
if (strlen($password)>4){
if($password==$confirmerpw){
$password=md5($password);
$query = mysql_query("SELECT Idutilisateur FROM utilisateur WHERE login= '".$login."' and emailutilisateur='".$emailutilisateur."' and teleutilisateur='".$teleutilisateur."' and password='".$password."'");
if(mysql_num_rows($query) == 1){
mysql_query("INSERT INTO utilisateur (Idutilisateur,nomutilisateur, prenomutilisateur, teleutilisateur, emailutilisateur, residenceutiisateur, datenaissautilisateur, login, password, confirmerpw, datenaissautilisateur)VALUES('','".$nomutilisateur."','".$prenomutilisateur."','".$teleutilisateur."','".$emailutilisateur."'
,'".$residenceutiisateur."','".$datenaissautilisateur."','".$login."','".$password."','".$confirmerpw."','".$datenaissautilisateur."')");

// Pseudo ou password déjà utilisé
echo 'Ce pseudo ou password est déjà utilisé';
}else{
//Pseudo ou password libre

}

/*mysql_connect("localhost", "root","" );//on se connecte à MySQL
mysql_select_db("memoire"); //On selectionne la base */



if(isset($_POST['type'])){
$type=$_POST['type'];
echo 'type:' .$_POST['type'];
//table medecin
if( $_POST['type'] == "medecin"){
echo'ma variable :' .$_POST['type'];
$Idmedecin=$matricule;
mysql_query("INSERT INTO medicin(Idmedecin, Idutilisateur, gradeMED, Idservice) values('".$Idmedecin."','".$gradeMed."','".$Idutilisateur."','".$Idservice."')");
}
//table infirmier
elseif( $_POST['type'] == "infirmier"){echo'ma variable:' .$_POST['type'];
$Idinirmier=$matricule;
mysql_query("INSERT INTO infirmier (Idinfirmier,idutilisateur) values('".$Idinfirmier."','".$Idutilisateur."')");
}
//table caissier
elseif( $_POST['type'] == "caissier"){echo'ma variable :' .$_POST['type'];
$Idcaiss=$matricule;
mysql_query("INSERT INTO caissier (Idcaiss, Idutilisateur) values('".$Idcaiss."','".$Idutilisateur."')");
}
else echo 'rien n\'a ete coche';
}
die('enregistrement terminée <a href="autentification.php">connectez-vous</a>');
mysql_close();// facultative, on ferme la connexion
}
else{echo'les deux password doivent etre indentiques';}

}
else echo 'password doit avoir plus de 4 caractère';
}
else echo'Rien n\'a été coché (on sait jamais)';

1 réponse

h4ckkids Messages postés 16 Date d'inscription dimanche 19 mai 2013 Statut Membre Dernière intervention 26 février 2014
26 févr. 2014 à 22:06
Bonsoir,

Alors pour commencer j'ai moi aussi une question, y a-il une réelle différence entre tes tables infirmier médecin et utilisateur ?
Parce que si seul le métier change, tu devrais faire une seule table avec un champ 'metier'

Ensuite, pour une question de lisibilité je te propose de tester d'abord tes variables. Dans un premier temps tu vérifies que les deux passwords sont égaux, que le nom d'utilisateur ou je ne sais plus ce que tu vérifies soit unique, et si ceci est bon tu n'as plus qu'à faire tes conditions.
Imagine un bouton radio, qui est soit un médecin soit un infirmier etc, et selon la valeur de ce bouton tu n'as plus qu'à faire tes conditions.
0