Aller au contenu

ouarzazat

Webmaster Régulier
  • Compteur de contenus

    77
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par ouarzazat

  1. Bonjour à tous, Je souhaiterais lancer une série de thèmes concernant la sécurisation de site web où chacun apporterait sa pierre à l'édifice. Après tout internet c'est d'abord cela, le partage des connaissances! Je vous propose cette première partie, les injections SQL qui fait frémir bon nombre de développeurs plus ou moins débutant, comme moi J'aimerais que nous puissions traiter ce sujet en long, en large et en travers au travers de vos expériences, témoignages et démonstrations. Vous pourrez proposer d'autres thèmes pour lesquels nous ouvrirons d'autres posts, mais par pitié essayez autant que possible de rester dans le sujet de ce post, dans l'intérêt de tous ! ----------------------------------------------------------------------------------------------- Moi même très peu pointu, voire carrément obtu, sur les questions de sécurité, j'y vais donc de ma question pour lancer le débat: Pour éviter des injections sql, est-il judicieux de spécifier une plage d'argument? A la manière d'une plage ip vous voyez? Par exemple, pour une page liste_resultat.php?num_page=... Est-il judicieux de spécifier que $_POST['num_page'] est un nombre compris entre x et y? Ou bien pour une autre page dire qu'il ne doit pas y avoir tel ou tel caractère dans le $_POST? Faudrait-il faire cela pour chacune de nos pages?
  2. ouarzazat

    formulaire recherche

    Je vais te donner un truc que l'on m'a donné sur le hub! Le principe est de rentrer tes variables de formulaire dans un tableau comme cela par exemple: <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="testform"> <p>Nom : <input type="text" name="critere[field1]" value="" /<p> <p>Site : <input type="text" name="critere[field2]" value="1" /<p> <p>Champ 3: <input type="checkbox" name="critere[field3]" value="1" /<p> <p><input type="submit" name="submit" value="Envoyer" /> | <input type="reset" name="reset" value="Reset" /></p> </form> </body> </html> Puis pour définir ta clause WHERE tu utilises une boucle pour fouiner les résultats contenus dans ce tableau, c'est à dire les variables envoyées par ton formulaire: $whereclause = ""; foreach($_POST['critere'] as $criterion => $value) { if ($value!="") { $whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($value)."' AND "; } } $whereclause = rtrim($whereclause," AND "); Rassemble tout ça et test: <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="testform"> <<p>Nom : <input type="text" name="critere[field1]" value="" /<p> <p>Site : <input type="site" name="critere[field2]" value="1" /<p> <p>Champ 3: <input type="checkbox" name="critere[field3]" value="1" /<p> <p><input type="submit" name="submit" value="Envoyer" /> | <input type="reset" name="reset" value="Reset" /></p> </form> <?php $whereclause = ""; foreach($_POST['criteria'] as $criterion => $value) { $whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($value)."' AND "; } $whereclause = rtrim($whereclause," AND "); echo $whereclause; ?> </body> </html> Ensuite ta requête sera donc comme suit: SELECT * FROM table WHERE $wherclause Voilà j'espère que c'est du tout bon pour toi! ++
  3. Et pour éviter ces injections sql, est-il judicieux de spécifier une plage d'argument? A la manière d'une plage ip vous voyez? Par exemple, pour une page liste_resultat?num_page=... Est-il judicieux de spécifier que $_POST['num_page'] est un nombre compris entre x et y? Ou bien pour une autre page dire qu'il ne doit pas y avoir tel ou tel caractère dans le $_POST? Faudrait-il faire cela pour chacune de nos pages? Bon on dévie un peu du sujet initial, mais puisqu-on est lancé.. (Peut-être devrais-je ouvrir un nouveau sujet, avis aux modos!)
  4. Ca c'est un gros point fort c'est clair!
  5. C'est déjà beau d'avoir autant de pistes pour résoudre ton problème, car oui ici à mon avis il faut d'abord venir chercher des pistes et pas des solutions toutes faites. On n'est plus à l'école mais je pense qu'il te reste encore quelques choses à apprendre: patience, persévérance, perspicacité. Bref tout cela est hors sujet mais je pense que ça ne peut pas faire de mal de rappeler quelques bons précepts. A bon entendeur!
  6. Oui il me semble qu'il soit très répandu de mettre la requête dans une/des variables. Je crois que la plupart des dévelopeurs utilisent cette méthode, et que je vais m'y coller également Merci pour ta participation
  7. D'ailleurs j'en profite pour vous poser une question de plus: ce genre de requête à rallonge, vous les écrivez sur une même ligne ou vous faites des retour à la ligne (sans espace avt le retour biensur )?
  8. Bon je crois avoir trouvé d'où venait le pblm... J'ai mis cette superbe requête sur une seule ligne: mysql_query(" INSERT INTO tab_service_site VALUES ('', '$cible', '$crea_entreprise', '$crea_site', '$generaliste', '$institutionnel', '$internet_ntic', '$m_interim', '$m_travail', '$newsletter', '$presse', '$reseau_entreprise', '$stats', '$radio', '$tv', '$specificite', '$autre_domaine', '$online', '$offline', '$concurrent', '$p_annonces', '$site_emploi', '$autre_concurrence', '$avec_interim', '$sans_interim', '$dedie_interim', /*c'est là*/'$partenaire_oi',/**/ '$annuaire', '$forum', '$liste_liens', '$moteur', '$portail', '$meta', '$echange', '$gratuite', '$payante', '$commentaire_indexation', '$departement_id', '$region_id', '$national', '$local', '$commentaire_localisation', '$promotion', '$referencement', '$nom_service_site', '$url', '$nom_societe', '$raison_sociale', '$description_service', '$dernier_adresse_id', '$timestamp') "); et ça lui plait, ma foi tant mieux, dse fois je crois qu'il ne vaut mieux pas aller chercher trop loin... Toujours est il que je vous remercie bien tous pour votre aide !!! a++
  9. C'est juste! Pour supprimer un espace: rtrim($var," "); Ceci fait l'affaire?
  10. Bon sang y'a rien à faire !! J'ai testé avec la simplification que tu m'as donné... a marche pas. Encore plus fort: ensuite j'utilise mon formulaire de recherche avec comme argument: partenaire_oi='partenaire_oi' ... ça trouve rien. puis j'utilise partenaire_oi='partenaire_oi ' ... ça trouve rien non plus !! C'est complètement dingue...
  11. Lol c'est qu'on peut devenir parano avec ces machines ! Voilà les bouts de code: Dans le formulaire de saisie: <input name="partenaire_oi" type="checkbox" id="partenaire_oi" /> Dans la page d'enregistrement: if (ISSET ($_POST['partenaire_oi'])) {$partenaire_oi = 'partenaire_oi'; else {$partenaire_oi = '';} Puis: mysql_query(" INSERT INTO tab_service_site VALUES ('', '$cible', '$crea_entreprise', '$crea_site', '$generaliste', '$institutionnel', '$internet_ntic', '$m_interim', '$m_travail', '$newsletter', '$presse', '$reseau_entreprise', '$stats', '$radio', '$tv', '$specificite', '$autre_domaine', '$online', '$offline', '$concurrent', '$p_annonces', '$site_emploi', '$autre_concurrence', '$avec_interim', '$sans_interim', '$dedie_interim', /*c'est là*/'$partenaire_oi',/**/ '$annuaire', '$forum', '$liste_liens', '$moteur', '$portail', '$meta', '$echange', '$gratuite', '$payante', '$commentaire_indexation', '$departement_id', '$region_id', '$national', '$local', '$commentaire_localisation', '$promotion', '$referencement', '$nom_service_site', '$url', '$nom_societe', '$raison_sociale', '$description_service', '$dernier_adresse_id', '$timestamp') ");
  12. Bonjour, j'ai comme qui dirait un petit problème. Explication: sur un formulaire de saisie, quand je coche la case à cocher 'truc', $truc ='truc'; (sinon $truc='' puis j'écris $truc dans le champ voulu dans ma table à la soumission du formulaire. Mais voilà, au lieu d'écrire 'truc' il va écrire 'truc '. Et ça ça me plait pas J'ai beau chercher je ne vois pas d'où cela vient, d'autant que j'ai une bonne vingtaine d'autre cases à cocher qui fonctionnent avec le même principe et pas de problème. Et le petit plus qui agace, dans phpmyadmin, je vais pour modifier l'enregistrement en question (avec 'truc '), je ne touche à rien je lui dis juste de me le réenregister tel quel, et boum il me supprime cet espace de malheur... C'est à n'y rien comprendre ! Vous y comprenez quelque chose vous??
  13. Hé bien vous pouvez applaudir le roi des bouricots !! J'avais oublié une virgule entre deux values dans mon INSERT................. Mais ma question vaut toujours, à savoir quelles sont les règles à respecter pour une concaténation ?
  14. Bonjour, je voudrais savoir dans quelle mesure cette condition peut être valide! if ($cible.$crea_entreprise.$crea_site.$generaliste.$institutionnel.$internet_ntic.$m_interim.$m_travail.$newsletter.$presse.$reseau_entreprise .$stats.$radio.$tv.$specificite.$autre_domaine.$p_annonces.$site_emploi.$autre_concurrence.$avec_interim.$sans_interim.$dedie_interim .$partenaire_oi.$annuaire.$forum.$liste_liens.$moteur.$portail.$meta.$echange.$gratuite.$payante.$commentaire_indexation.$departement_id .$region_id.$national.$local.$commentaire_localisation.$url.$nom_societe.$raison_sociale.$description_service !='') et si cete condition est vérifée j'enregistre dans ma bdd. Donc oui c'est un gros "if", je me suis dit que ça pourrait le faire donc j'ai testé avec quelques variables avant de tout écrire, ça fonctionnait. mais avec tout cela ça marche pu Cela se peut-il se jouer au niveau du type des variables par exemple, ou encore des variables trop longues pour "rentrer" dans les champs? J'attend avec impatience vos commentaires affutés, Merci à tous! à bientôt
  15. Oula je me fait squatter mon post!! J'aimerai bien participer mais là je suis largué... dans une autre vie je pourrais peut être vous répondre. Mais lachez vous ça fait plaisir ! A bientôt
  16. Je suis un homme comblé merci, merci et merci !
  17. Bonjour, et merci pour cette réponse matinale. Tu vois, je crois que je vais enregistrer ces codes dans un fichier texte, c'est pour te dire combien tu as mis dans le mille. J'ai saisi le concept et je pense que je ne pouvais pas espérer mieux. Et au passage si tu veux bien j'aurai besoin d'une petite explication de texte de cette ligne $whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($_POST['keywords'][$criterion])."' AND "; Je me demandais a quoi servent les .= Et je me perd entre les ' et les " Ah oui et je me demandais si mysql_escape échappait les undescore ? C'est juste au cas ou tu aurais 5 minutes, sinon je trouverai bien c'est juste qu'aujourd'hui j'ai pas trop de temps pour cela malheureusement.. En tout cas, chose promis, chose due, je t'offre mon éternelle reconnaissance !!! Merci beaucoup encore une fois, à bientôt
  18. Bonjour, bonsoir, je ne sais plus très bien où j'en suis... Voilà une question de novice, et bien souvent les questions de novice ont une réponse plus compliquée qu'il n'y parait, malheureusement. Alors j'espère que je ne vais pas demander (une fois de plus?) quelque chose qui n'existe pas, un mysql_pere_noel() ou je ne sais trop quoi Allez, essayons de faire simple. Disons que je veuille effectuer une recherche dans une seule table via un formulaire de recherche "case à cocheté"(avec des cases à cocher, j'avais dit 'essayons'). Chaque case à cocher permet à l'utilisateur d'ajouter un critère de recherche qui correspond à un champ de ma table. ex: la case à cocher 'trucmuche' me permet de rechercher les entrées dont le champ 'trucmuche' de ma table est rempli. Nous avons donc plusieurs cases à cocher, je sais pas pourquoi je le répète mais ça me fait plaisir. Bref, rentrons maintenant dans le vif du sujet, les plus vifs d'entre vous sauront certainement déjà où je veux en venir et trouveront le vif du sujet pas très vif, un peu mou quoi. Et là je dis tant mieux. Donc comment générer une requête sql en fonction des critères sélectionnés par l'utilisateur? En donnant un exemple, si l'utilisateur a coché 'trucmuche' et 'machinchouette' dans le formulaire, comment générer cette requête: SELECT identifiant FROM matable WHERE trucmuche='euhuntruc' AND machinchouette='euuhunmachin' et si en plus l'utilisateur à coché 'bidulechouette ' (oui c'est vrai il est gonflé cet utilisateur), comment ajouter dans ma requête AND bidulechouette='unbidule'? et ainsi de suite... Voyez vous la difficulté que ceci peut causer à un débutant, non vous n'imaginez même pas Alors si vous pouvez m'aider, par ordre de fainéantise décroissant, en me disant oulala t'es pas arrivé, ou ta's lu la doc sql?, ou en me donnant quelques pistes (là ça devient intéressant), ou m'expliquant la méthodologie (là c'est cool) ou me donnant un exemple (là c'est le top), bon je ne vous enverrez peut être pas un chèque mais à coup sûr un grand MERCI et ça, ça n'a pas de ... si...enfin ça vaut ce que ça vaut. Mais soyez assurés de ma reconnaissance éternelle si vous pouvez m'aider. Bien amicalement, à bientôt !
  19. Ce code doit afficher une liste de site, correspondant aux critères de recherches énoncés par l'utilisateur. L'utilisateur choisi également quels informations (adresse, caractéristiques...) doivent apparaître dans les résultats. C'est vrai que c'est plus simple comme cela J'ai mis les fichiers en ligne, avec un dump de la base contenant quelques enregistrements. J'ai aussi placé la page où l'on saisit ces informations pour qu'elles puissent etre enregistrees dans la base: http://testplateforme.free.fr/ Voilà, j'espère que ça vous aidera à m'aider, merci
  20. ouarzazat

    Besoin de méthodologie

    Bonjour à tous, voilà un post qui je l'espère suscitera beaucoup de réactions. Je ne suis pas encore très aguéri au php/sql et pourtant j'ai décidé de me lancer dans la création d'un projet qui consiste à référencer des sites web. J'ai donc créé une base de donnée, une page formulaire d'insertion et une page formulaire de recherche. Et c'est au niveau de la page formulaire de recherche que je suis vraiment noyé. Celle-ci contient le formulaire de recherche, le code pour traiter les requêtes et le code pour afficher les résultats, du 3 en 1 quoi. Le formulaire de cette page appelle cette même page. Et je trime comme c'est pas permi, alors je crois que j'ai vraiment besoin d'aide, je vais donc vous expliquer la méthodologie que j'ai utilisé et vous mettre des exemples de code afin de recueillir vos commentaires. Cela fait déjà bien 2 semaines que j'ai commencé à bosser dessus et là je commence à baisser les bras. Donc voici ma méthodologie, je vais vous décrire dans l'ordre ce qu'il se passe sur cette page 3 en 1: 1 - Je récupère les données postées = les critères sélectionnés sur le formulaire de recherche, en majorité ils proviennent de cases à cocher. if (ISSET ($_POST['forum'])) {$forum = 'forum'; $option_forum = "checked=\"checked\"";}// ça c'est pour qu'au rechargement de la page, les critères sélectionnés soient cochés par défaut else {$forum = "1"; $option_forum="";} 2 - Les critères de sélection appartiennent à différents catégories: ex: la description du site, les coordonnées de l'éditeur, la localisation du service qu'il propose (ex: petites annonces dans l'AIN), etc... Donc s'il y a un critère sélectionné concernant la description du site, je recherche dans la bdd tous les id qui correspondent. Ces id je les écrit dans une table_recherche avec un code rappelant la catégorie à laquelle ils appartiennent. Par exemple pour les critères de description le code vaut 1. Ce qui donne dans ma table recherche: code | id --------------------- 1 | 3 1 | 6 1 | 25 1 | 34 Et ainsi de suite pour chaque catégorie, la table_recherche ressemblera à celà: code_recherche | identification_id -------------------------------------- 1 | 3 1 | 6 1 | 25 1 | 34 2 | 6 2 | 25 2 | 34 2 | 42 7 | 6 7 | 25 7 | 34 Un exemple: //Si critères d'Indexation remplis: if ( $payante!="1" OR $gratuite!="1" OR $echange!="1" )// si un critère n'a pas été posté, j'initialise sa valeur à 1; { $sql_id_indexation = mysql_query(" SELECT identification_id FROM tab_description WHERE indexation_id IN (SELECT indexation_id FROM tab_indexation WHERE payante='$payante' OR gratuite='$gratuite' OR echange='$echange') "); while ($array_identification_id = mysql_fetch_array($sql_id_indexation)) { $identification_indexation_id = $array_identification_id['identification_id']; mysql_query("INSERT INTO tab_recherche VALUES ('', '8', '$identification_indexation_id')"); } } 3 - Ensuite je créé une requête qui va regrouper tous id et leur réattribuer des code_recherche qui se suivent. Je vous ai montré dans l'exemple de table_recherche que le code recherche pouvait sauter de 2 à 7 par exemple. Je rappelle que les codes recherche correspondent à la catégorie d'information auxquels appartienent les id. Avec ce code dans notre exemple les enregistrements dont le code recherche vaut 7 vont se voir réattribuer un code recherche qui vaut 3. Vous allez comprendre pourquoi je fais ça dans le 4- J'ai bien essayé de faire un code_recherche qui s'auto incrémente avec une requête du style: code_recherche =0 si critère description rempli, code_recherche++, puis écrire dans la table, mais c'était bancal, donc j'ai opté pour la solution ou le code_recherche est prédéfini. Voilà le code dont je me sert pour réatribuer les codes recherche: $sql_global = mysql_query("SELECT * FROM tab_recherche "); if ($sql_global!="")// et ça, est-ce valable comme requete?? { $i = '1'; while ($req_code_recherche = mysql_fetch_array($sql_global)) { $num_code_recherche = $req_code_recherche['code_recherche']; $liste_id_par_code = mysql_query("SELECT * FROM tab_recherche WHERE code_recherche='$num_code_recherche'"); while ($req_liste_id = mysql_fetch_array($liste_id_par_code)) { $insert_id = $req_liste_id['identification_id']; mysql_query("UPDATE tab_recherche SET code_recherche='$i', identification_id='$insert_id' WHERE identification_id='$insert_id'"); } $i++; } 4 - Puis je compte le nbre de code_recherche avec ceci: $compte_code_recherche = mysql_query("SELECT count(code_recherche) FROM tab_recherche GROUP BY code_recherche"); $nbre_code_recherche = mysql_num_rows($compte_code_recherche); Et c'est là ou je fais le recoupement des id, où je choisi les id qui appartiennent à toutes les catégories, donc les id que je vais exploiter pour afficher les résultats. Dans l'exemple table_recherche, les id sont les id numéro 6, 25 et 34. Cette requête est la suivante: switch ($nbre_code_recherche) { case 1: // dans le cas où $nbre_code_recherche vaut 1 $regroupement_identification_id = mysql_query("SELECT identification_id FROM tab_recherche WHERE code_recherche='1' GROUP BY identification_id ORDER BY identification_id ASC"); break; case 2: $regroupement_identification_id = mysql_query("SELECT identification_id FROM tab_recherche WHERE code_recherche='1' AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche='2') GROUP BY identification_id ORDER BY identification_id ASC"); break; case 3: $regroupement_identification_id = mysql_query("SELECT identification_id FROM tab_recherche WHERE code_recherche='1' AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche='2' AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche='3')) GROUP BY identification_id ORDER BY identification_id ASC"); break; et ainsi de suite jusqu'à 12, en effet j'ai 12 catégories de crritères différentes. Puis je vide ma table recherche avec truncate. 5 - Bon maintenant j'ai tous les id que je vais exploiter, j'affiche le formulaire de recherche. 6 - Puis j'affiche les résultats de ma recherche en exploitant les id. je commence par: while ($result_identification_id = mysql_fetch_array($regroupement_identification_id)) { $result_id = $result_identification_id['identification_id']; $tab_indexation = mysql_query(" SELECT payante, gratuite, echange FROM tab_indexation WHERE indexation_id IN (SELECT indexation_id FROM tab_description WHERE identification_id='$result_id')"); //et ainsi de suite je récupère toutes les infos relatives à l'id; 7 - ensuite je met en forme les résultats de cet id dans un tableau. 8 - et ainsi de suite pour chaque id. C'est comme ça que je m'y suis pris, tout me parait cohérent et pourtant ça ne marche pas, j'ai pas d'erreur spéciale quand je lance ma recherche, c'est simplement que quand je bidouille des fois j'ai un résultat qui s'affiche des fois 3, des fois rien du tout pour une même requête. J'espère que vous pourrez me faire part de votre expérience. J'ai besoin d'un gourou pour m'en sortir!! Si mon cas vous intéresse je vous envoie les codes sources, un dump de la base, n'hésitez pas! Je suis conscient que c'est beaucoup mais j'aurai vraiment besoin d'un coup de pouce, même minuscule. Merci à tous, à bientôt!
  21. Merci pour ta réponse, tu mets le doigt sur une technique très intéressante que je ne connaissais pas et qui présente en effet de belles perspectives. Au boulot! Merci pour ton aide
  22. RE et là je reviens avec la question qui tue Sachant que je peux avoir une liste de code recherche allant de 1 à 12, c'est à dire 12 code_recherche numéroté de 1 à 12: Comment adapter la requête SQL de Bolbo ?????????????? Voici le code que j'ai tapoté, dont le principe me paraissait bon bien que lourd mais qui est totalement innéficace, je retrouve ma bonne vieille page vierge: $code_recherche = ;// entre 1 et 12 en l'occurence; switch ($code_recherche) { case 1: // dans le cas où $code_recherche vaut 1 $a=1;$b=1;$c=1;$d=1;$e=1;$f=1;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 2: // dans le cas où $code_recherche vaut 2 $a=1;$b=2;$c=1;$d=1;$e=1;$f=1;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 3: // dans le cas où $code_recherche vaut 3 $a=1;$b=2;$c=3;$d=1;$e=1;$f=1;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 4: // etc etc $a=1;$b=2;$c=3;$d=4;$e=1;$f=1;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 5: $a=1;$b=2;$c=3;$d=4;$e=5;$f=1;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 6: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=1;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 7: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=1;$i=1;$j=1;$k=1;$l=1; break; case 8: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=8;$i=1;$j=1;$k=1;$l=1; break; case 9: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=8;$i=9;$j=1;$k=1;$l=1; break; case 10: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=8;$i=9;$j=10;$k=1;$l=1; break; case 11: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=8;$i=9;$j=10;$k=11;$l=1; break; case 12: $a=1;$b=2;$c=3;$d=4;$e=5;$f=6;$g=7;$h=8;$i=9;$j=10;$k=11;$l=12; break; } $regroupement_identification_id = mysql_query(" SELECT identification_id FROM tab_recherche WHERE code_recherche=$a AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$b AND identification_id IN (SELECT identification_id FROM tab_recherche WHERE code_recherche=$c AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$d AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$e AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$f AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$g AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$h AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$i AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$j AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$k AND identification_id IN ( SELECT identification_id FROM tab_recherche WHERE code_recherche=$l)))))))))))"); while ($liste_id = mysql_fetch_array($regroupement_identification_id)) { echo $liste_id['identification_id']; echo "<br>"; } Avis aux amateurs
  23. ou alors... désolé je me suis peut etre mal exprimé, mais merci pour ton aide. à bientôt.
  24. Joliiiiiiiiiiii !! Bien vu pile poil, et merci !
  25. Ca ne me donne pas le résultat escompté. Il me faut les identification_id dont le code_recherche vaut 1 et dont le code_recherche vaut 2. Pas soit 1 soit 2. En fait la réponse que je voudrais obtenir est 2, 3. J'espère que vous pourrez m'aider, merci déjà de vous être penché sur la question.
×
×
  • Créer...