[PHP/MySQL] Une requête dans un HIDDEN !?!

Fermé
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 - 6 nov. 2006 à 12:07
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 7 nov. 2006 à 18:02
Bongour !!

Je suis en train de créer un script permettant la consultation des champs d'une table. Cette consultation se fait suite au remplissage d'un formulaire par l'utilisateur. Il saisit ses critères de recherche à l'aide de listes déroulantes ...

Je récupère toutes les données saisies à l'aide de POST et j'écris ma requête en fonction de ce qui a été posté ou pas.

Je voudrais "cacher" cette requête dans un champ hidden parce que j'ai des flèches pour consulter les données suivantes ou précédentes (je change les valeurs du LIMIT de ma requête) donc je voudrais garder la requête en mémoire. Je construis mon champ hidden de la façon suivante:
echo'<input type="hidden" value="'.$requeteMulti.'" name="REQUETE_MULTI">';

Mais en fait, ça marche mal parce que ma requête contient des simples quotes... Exemple de requête :
SELECT * FROM AUTRE_DMDE WHERE DATE_AFFECTATION_DMDE > '2006-10-19' ORDER BY DATE_AFFECTATION_DMDE DESC, HEURE_AFFECTATION_DMDE DESC LIMIT 20,10

Je pense que ça doit se faire avec des "\" devant certaines quotes mais je ne vois pas vraiment comment !

Je pense que votre aide me sera d'une très grande aide !! lol

Je vous remercie d'avance ...

;-)
A voir également:

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
6 nov. 2006 à 16:25
Bonjour,

Déjà, c'est une très mauvaise idée de montrer ainsi, de façon publique, tes requêtes SQL. Elles peuvent informer sur la structure de ta base de données, et un petit malin peut écrire chez lui une page html qui modifie la requête en question en "delete * from table", et qui appelle la même page que toi : les dégats peuvent être importants...

Sinon, pour répondre, quand même, à ta question : les quotes semblent être bien formés, et il ne devrait pas y avoir de problème.
Essaie quand même la fonction addslashes ( http://fr3.php.net/manual/fr/function.addslashes.php ), et la fonction stripslashes (avant l'exécution de la requête, au retour du formulaire)

Mais, encore une fois, je te déconseille très fortement de passer une requête SQL en paramètre POST.

Xavier
0
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 14
7 nov. 2006 à 09:04
Bonjour ... Merci pour cette réponse !

En fait je fais ça par ce que je ne sais vraiment pas comment faire autrement pour garder en mémoire cette requête ...

Mon formulaire fait en fait partie d'une application intranet que je développe pour un service de l'entreprise dans laquelle je suis en stage et je pense que les risques d'attaque de ma base de données sont faibles ...

S'il existe une autre solution je suis quand même ultra-preneuse ! En attendant et faute de mieux, je vais quand même faire comme ça :S

Merci
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008
7 nov. 2006 à 13:44
Tu pourrais faire de l'AJAX pour regler ton probleme.

Ca te permettra de garder en mémoire les résultats de ta requete sous forme d'objet avascript, et ainsi afficher en tant réel (sans besoin de refaire une requete sur le LIMIT) les différentes pages du tableau de champ selectionné.

Si tu as besoin de conseil la dessus, contact moi le soir : kij_82@hotmail.fr

Mais si tu souhaite garder ta méthode actuelle... je vois pas d'autre chose possible que de garder ca dans un champ hidden comme tu l'as fait.

0
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 14 > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
7 nov. 2006 à 13:49
Je vais voir du côté d'AJAX, mais j'avoue que tout ce qui est nouveau me fait un peu peur !!

En même temps je disais la même chose y a quelque semaine à propos de JavaScript ... Maintenant, je ne pourrais plus m'en passer !! Sauf quand ça bugge comme en ce moment (mais rien à voir avec ce post donc je vais en faire un autre !!)

Je pense que je vais me tourner vers AJAX parce que ma méthode ne marche toujours ... même avec des addslashes ... et des stripslashes !!

Merci beaucoup de m'aider ... et je pense que, si ça ne t'embête pas trop, je te reposerai des questions !!

;-)
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
7 nov. 2006 à 18:02
Je suis a ta dispo, mais que le soir, et tu verra que quand tu aura découvert AJAX tu ne pourra plus t'en passer aussi ^^
0