Le zéro pas reconnu
Bonjour, je vous cache pas que je ne suis pas un expert en php je suis coincé sur un truc.
Alors je vous demande votre aide voila mon code
Si je rentre dans Mini le chiffre 0 et dans Maxi 1000 il me liste tout même les supérieurs à 1000
Le problème est sur le zéro sinon ça fonctionne parfaitement !
Alors je vous demande votre aide voila mon code
# if (!empty($_GET['Prixmini']) && !empty($_GET['Prixmaxi'])) {
# $search .= " AND (a.ad_price BETWEEN '" . $_GET['Prixmini']. "' AND '" . $_GET['Prixmaxi'] . "')";
# }
Si je rentre dans Mini le chiffre 0 et dans Maxi 1000 il me liste tout même les supérieurs à 1000
Le problème est sur le zéro sinon ça fonctionne parfaitement !
Configuration: Windows XP Firefox 3.0.7
10 réponses
-
Contributeursalut,
et en utilisant filter() ?
tu peux valider un entier, en théorie tu peux même lui indiquer un min et un max mais je n'ai jamais réussi à le faire fonctionner.
et pour les trous de sécurité, si vous ne les voyez pas en construisant une requête SQL directement avec des données utilisateurs, faut peut être arrêter de coder et vous mettre à la lecture…
-
Comme ce fait il que je n'ai pas de réponses sur ce sujet ? Je fais fausse route c'est un code bidon ?
-
ça me fais flipper maintenant !
-
2 grosses failles de sécurité ?
Tu peux m'en dire plus c'est quoi les failles.
Ça me rajoute un deuxième problème ça... -
Salut,
De toute facon, ton problème est bien plus que secondaire vu que tu as 2 grosses failles de sécurité en 1 requete ! -
Non avec isset ça fonctionne pas il doit manquer un truc avec empty
-
du tout...
je site :
" Retourne FALSE si var a une valeur non-vide et différente de zéro.
Ce qui suit est considéré comme étant vide :
* "" (une chaîne vide)
* 0 (0 en tant qu'entier)
* "0" (0 en tant que chaîne de caractères)
* NULL
* FALSE
* array() (un tableau vide)
* var $var; (une variable déclarée, mais sans valeur dans une classe)"
...
si tu pense que ton problème viens de là, c'est une bonne piste il me semble.. -
@sebshivaet vérifie bien ce que te renvois $_GET['Prixmaxi'] en terme de type de variable (même si PHP n'est pas un langage typé à proprement parlé...)
-
-
C'est un soucis avec !empty
-
oui pareil
-
non il sont en TEXT mais j'ai essayé en INT
-
Salut,
les champs en question, ce sont des int?