Verification avant enregistrement

Résolu
momoko94 Messages postés 6 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 2 mai 2009 - 16 avril 2009 à 10:46
marcelolipi Messages postés 91 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 25 juillet 2011 - 21 avril 2009 à 15:45
bonjour,

je voudrais savoir comment faire pour vérifier que toutes les saisies de mon formulaire n'existent pas dans ma table inscription.

mon dernier if ne fonctionne pas,la page affiche juste retour acceuil

merci

$con=mysql_connect("localhost","root","")or die("erreur de connexion");
$ouverture=mysql_select_db("blog")or die("erreur d'ouverture");


$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$login=$_POST['login'];
$mdp=$_POST['mdp'];

$sql='Select nom,prenom,login from inscription';
$req=mysql_query($sql)or die("Erreur");
while($res=mysql_fetch_array($req))
{
 $login_bdd=$res['login'];
 $prenom_bdd=$res['prenom'];
 $nom_bdd=$res['nom'];
 
 if($login_bdd==$login)
 {
  echo"le login existe deja";
  echo"
";
 }
 if($prenom_bdd==$prenom)
 {
  echo"le prenom existe deja";
  echo"
";
 }
 if($nom_bdd==$nom)
 {
  echo"le nom existe deja";
  echo"
";
 }
 if(($nom_bdd!=$nom)&&($prenom_bdd!=$prenom)&&($login_bdd!=$login))
 {
  $req="INSERT INTO inscriaption(nom,prenom,login,mdp)values('$nom','$prenom','$login','$mdp')";
  $res=mysql_query($req)or die("erreur de requete");
  echo" mise à jour faite";
 }
 
}

9 réponses

marcelolipi Messages postés 91 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 25 juillet 2011
21 avril 2009 à 14:16
Avec ce cas l'id est auto increment

a mois que tu prenne l'id comme une variable ;alors dans ce cas tu remplace NULL par la variable qui devient l'ID
3
keutchatcham Messages postés 4 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 21 avril 2009
18 avril 2009 à 11:05
Bonjour momoko94, j'ai regardé ton code je pense qu'il devra logiquement fonctionner si dans la requête
$req="INSERT INTO inscriaption(nom,prenom,login,mdp)values('$nom','$prenom','$login','$mdp')";
$res=mysql_query($req)or die("erreur de requete");

inscriaption soit une erreur de saissie, au cas contraire je te propose d'utiliser la structure if -elseif-else il est vraie que ce n'est qu'une amélioration des if, mais il faudra tester?
0
momoko94 Messages postés 6 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 2 mai 2009
18 avril 2009 à 14:35
merci pour la réponse j'ai rectifié l'erreur de saisie en inscription mais ca ne fonctionne toujours pas

si je met des if a la place des &&, tu crois que ca peut marcher?
0
marcelolipi Messages postés 91 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 25 juillet 2011
20 avril 2009 à 12:18
salut a vous

ya un truc qui cloche dans ton code
en effet ,la requete $req="INSERT INTO inscription ...

voici un essaie de solution avec un accent porté sur l'optimisation

[code]
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$login=$_POST['login'];
$mdp=$_POST['mdp'];

$sql="Select nom,prenom,login from inscriptionWHERE (nom='$nom' OR prenom='$prenom' OR login='$login')";
$req=mysql_query($sql)or die("Erreur");
$nb_resultat=mysql_num_rows; //nombre de resultats
if ($nb_resultat>o)
{ //cas ou on au moins un resultat

while($res=mysql_fetch_array($req))
{
$login_bdd=$res['login'];
$prenom_bdd=$res['prenom'];
$nom_bdd=$res['nom'];

if($login_bdd==$login)
{
echo"le login existe deja";
echo"
";
}elseif($prenom_bdd==$prenom)
{
echo"le prenom existe deja";
echo"
";
}elseif if($nom_bdd==$nom)
{
echo"le nom existe deja";
echo"
";
}

echo"la mise a jour n'a pas été faite";
}

}
else
{//cas ou aucune info n'est dans la base de données la on lance l'insertion

$req="INSERT INTO inscriaption(nom,prenom,login,mdp)values('$nom','$prenom','$login','$mdp')";
$res=mysql_query($req)or die("erreur de requete");
echo" mise à jour faite";

}



bon jespere avoir contribué

marcelolipi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
keutchatcham Messages postés 4 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 10:38
salut, j'ai revue le code et je pense que si après tous cela ne fonctionne pas il faudra songer à l'écrire de cette façon:

$req="INSERT INTO inscription (nom,prenom,login,mdp) values('".$nom."','".$prenom."','".$login."','".$mdp."')";  je crois qu'après ça s'il n'a toujours pas d'enregistrement le pb serait ailleur.
0
momoko94 Messages postés 6 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 2 mai 2009
21 avril 2009 à 11:41
merci pour les réponses mais le insert into affiche erreur de requete.

c peut etre a cause du 1er champ de la base qui est id la clé primaire en auto increment
0
marcelolipi Messages postés 91 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 25 juillet 2011
21 avril 2009 à 14:13
dans ce cas la requete devrait etre la suivante:


req="INSERT INTO inscription (id,nom,prenom,login,mdp) values(NULL ,'".$nom."','".$prenom."','".$login."','".$mdp."')"; je crois qu'après ça s'il n'a toujours pas d'enregistrement le pb serait ailleur.


marcelolipi
0
momoko94 Messages postés 6 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 2 mai 2009
21 avril 2009 à 15:33
ok merci ca marche maintenant
0
marcelolipi Messages postés 91 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 25 juillet 2011
21 avril 2009 à 15:45
@momoko94-> bonne continuation

marcelolipi
0
Rejoignez-nous