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

elsadelatoundra Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   -  
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   1 011
 
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   Statut Membre Dernière intervention   14
 
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   Statut Contributeur Dernière intervention   857 > elsadelatoundra Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   14 > kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Contributeur Dernière intervention   857 > kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention  
 
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