Probleme de doublons

Résolu
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous j'ai un problème de doublons que je n'arrive pas avoir l'erreur pourriez vous me donner un coup de main svp et j'ai les photos qui ne s'affiche pas (juste des petits carrés) voici le code
<?php
  
if(!empty($_POST['ajouter'])) {
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $cont=$_POST['phone'];
    $contact2=$_POST['contact2'];
    $email=$_POST['email'];
    $sexe=$_POST['sexe'];
    $lieu_habita=$_POST['lieu_habita'];
    $numpiece=$_POST['numpiece'];
    $nomphoto=$_FILES['photo']['name'];
     $matricule=$_POST['matricule'];
      
    require_once('bdconnexion.php');
    //pour plus de lisibilité => attention à l'espace en fin de chaine
    $query="SELECT nom_auditeur,prenom_auditeur,telephone_1_auditeur,telephone_2_auditeur,email_auditeur,sexe_auditeur,lieu_habitation,numero_piece,photo_auditeur,Matricule_auditeur ";
    $query.="FROM auditeur ";
    $query.="WHERE nom_auditeur='".$nom."' ";
    $query.="AND prenom_auditeur='".$prenom."' ";
    $query.="AND telephone_1_auditeur='".$cont."' ";
    $query.="AND telephone_2_auditeur='".$contact2."' ";
    $query.="AND email_auditeur='".$email."' ";
    $query.="AND sexe_auditeur='".$sexe."' ";
    $query.="AND lieu_habitation='".$lieu_habita."' ";
    $query.="AND numero_piece='".$numpiece."' ";
    $query.="AND photo_auditeur='".$nomphoto."' ";
    $query.="AND Matricule_auditeur='".$matricule."'";
 
    $send=mysql_query($query) or die(mysql_error());
    $nbre=mysql_num_rows($send);
    if($nbre !== FALSE && $nbre == 0){
        $req="INSERT INTO auditeur (nom_auditeur,prenom_auditeur,telephone_1_auditeur,telephone_2_auditeur,email_auditeur,sexe_auditeur,lieu_habitation,numero_piece,photo_auditeur,Matricule_auditeur)";
        $req .= " value ";
        $req .= "('$nom','$prenom','$cont','$contact2','$email','$sexe','$lieu_habita','$numpiece','$nomphoto','$matricule')";
        $envoi=mysql_query($req) or die(mysql_error());
        //IF facultatif, car l'insertion s'est bien pass&ée
        if ($envoi !== FALSE) {
            //Deplacement fichier seulement si insertion OK
            echo "nouveau auditeur ajouté";
            $file_tmp_name=$_FILES['photo']['tmp_name'];
            move_uploaded_file($file_tmp_name,"./images/$nomphoto");
        }
    } else {
        echo "cet auditeur s'est dèjà inscrit";    
    }
}
?>

11 réponses

delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
en fait le code ne fait que des insertions même quand l’élément existe déjà et quand je fais afficher les infos dans une page tout apparaît sauf la photo juste un petit carré
1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Il te faudra être plus précis.....
des doublons.... dans quoi ??? où ça ????
les images ne s'affichent pas.... où ça ??? avec quel code ????

Là tu ne nous a coller que le code d'insertion en BDD de ton formulaire...
sans aucune autre explication ... impossible de te répondre.

PS: tu utilises l'ancienne extension mysql .. je t'invite à lire ceci puis à en changer : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Est-ce que tu as essayé de faire un ECHO de ta variable $query pour voir si la requête, testée DIRECTEMENT dans ta BDD, te retourne quelque chose ??


au passage... dans le WHERE... je ne vérifierai que l'email (et éventuellement nom / prénom ) .... Là ... tu vérifies trop de choses.... il suffirait qu'il change de numéro de téléphone ou le nom de la photo... et là ... tu referais une insertion en BDD....

0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
oui j'ai un résultat mais quand je remet les memes info il accepte
 <?php
  
if(!empty($_POST['ajouter'])) {
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $cont=$_POST['phone'];
    $contact2=$_POST['contact2'];
    $email=$_POST['email'];
    $sexe=$_POST['sexe'];
    $lieu_habita=$_POST['lieu_habita'];
    $numpiece=$_POST['numpiece'];
    $nomphoto=$_FILES['photo']['name'];
     $matricule=$_POST['matricule']; 
    require_once('bdconnexion.php');
    //pour plus de lisibilité => attention à l'espace en fin de chaine
    $query="SELECT nom_auditeur,prenom_auditeur,email_auditeur,sexe_auditeur,Matricule_auditeur ";
    $query.="FROM auditeur ";
    $query.="WHERE nom_auditeur='".$nom."' ";
    $query.="AND prenom_auditeur='".$prenom."' ";
    $query.="AND email_auditeur='".$email."' ";
    $query.="AND sexe_auditeur='".$sexe."' ";
    $query.="AND Matricule_auditeur='".$matricule."'";
    $send=mysql_query($query) or die(mysql_error());
    $nbre=mysql_num_rows($send);
    if($nbre !== FALSE && $nbre == 0){
        $req="INSERT INTO auditeur (nom_auditeur,prenom_auditeur,telephone_1_auditeur,telephone_2_auditeur,email_auditeur,sexe_auditeur,lieu_habitation,numero_piece,photo_auditeur,Matricule_auditeur)";
        $req .= " value ";
        $req .= "('$nom','$prenom','$cont','$contact2','$email','$sexe','$lieu_habita','$numpiece','$nomphoto','$matricule')";
        $envoi=mysql_query($req) or die(mysql_error());
        //IF facultatif, car l'insertion s'est bien passée
        if ($envoi !== FALSE) {
            //Deplacement fichier seulement si insertion OK
            echo "nouveau auditeur ajouté";
            $file_tmp_name=$_FILES['photo']['tmp_name'];
            move_uploaded_file($file_tmp_name,"./images/$nomphoto");
        }
    } else {
        echo "cet auditeur s'est dèjà inscrit";    
    }
}
?>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et si tu fais un echo de ta variable $nbre ... qu'est-ce que ça donne ?
0

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

Posez votre question
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
cela me retourne 0
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
C'est que ta requête ne retourne AUCUN résultat ... donc.. c'est normal qu'il créé une nouvelle ligne dans ta table.

Mais..... si toi tu penses que ça ne devrait pas retourner 0 ... c'est qu'il y a un souci au niveau de ta requête.

Donc :
1 - Fais un echo de ta variable $query et colles nous le résultat sur le forum

2 - Utilises le résultat de ce echo pour tester ta requête DIRECTEMENT dans ta BDD et regardes si elle retourne réellement quelque-chose ( un imprime-écran serait le bienvenue.... )
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
1.resultat du echo $query
SELECT nom_auditeur
           ,prenom_auditeur
           ,email_auditeur
           ,sexe_auditeur
           ,Matricule_auditeur 
FROM auditeur 
WHERE nom_auditeur='kouakou' 
  AND prenom_auditeur='franck' 
  AND email_auditeur='kouakou@yahoo.fr' 
  AND sexe_auditeur='Homme' 
  AND Matricule_auditeur='201602101647-M'

nouveau auditeur ajouté
2.



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
je n'arrive pas coller l'imprime ecran
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
lorsque tu fais "répondre" surle fourm .... tu cliques sur l'icone image qui se trouve en haut ....
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Comme ceci :


0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
voila
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
dis donc ...
tu m'as répondu

oui j'ai un résultat mais quand je remet les memes info il accepte

dans un précédent message .....
mais .... là .... ... et bien... on est d'accord .... ta requête NE RETOURNE AUCUN RESULTAT !
Donc c'est normal qu'il fasse une insertion !!!!

Non ???!!!!
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
lol j'avais pas bien compris dans ce cas je fais quoi
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention  
 
Est-ce qu'il y a des informations dans ta BDD ??
Si oui... commence par faire ce que je t'ai proposé dans un message précédent ..... NE METS PAS AUTANT DE CHOSES DANS TON WHERE !
Limite ta requête sur l'adresse mail par exemple.
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
ok j'essaye
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et surtout .... commence par tester tes requêtes DIRECTEMENT DANS TA BDD avant d'essayer de les mettre dans ton code php
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
j'ai trouvé mes erreurs c’était ma BD qui ne correspondait pas !! merci encore
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0