Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2148 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Parametre dans URL, foire une fois sur 5...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parametre dans URL, foire une fois sur 5...

n°1498027
dustnet
Posté le 02-01-2007 à 17:47:20  profilanswer
 

Bonjour à tous et merci de votre attention.  :)  
 
Alors voila, dans une page html, j'ai ceci <a href="AffichageVignette.php?cat=Animal">
 
Cela marche globalement trés bien, mais une fois sur 5 ou 6, je me retrouve avec absolument rien dans la variable "cat" dans ma page "AffichageVignette" ce qui est trés génant car j'interroge une base MySQL avec cette variable et la requete suivante $requete1= "select nom_petite,num_image from images where categorie='$cat' order by num_image";
 
Quelqu'un aurait une idée du probleme ?
 
Merci bcp ! ;)

mood
Publicité
Posté le 02-01-2007 à 17:47:20  profilanswer
 

n°1498029
chani_t
From Dune
Posté le 02-01-2007 à 17:49:27  profilanswer
 

coder proprement peut être ?....  
 
pourquoi ne pas vérifier tes infos passée par URL ?
 
et puis tu as peut être un lien dans ta page qui n'a pas justement d'infos... vérifie déjà ta page html.

n°1498035
dwogsi
Défaillance cérébrale...
Posté le 02-01-2007 à 18:09:20  profilanswer
 

Ca sent l'injection de SQL ici!
 
Sinon même chose : coder proprement et, très certainement, revoir ton modéle de données.

n°1498082
leflos5
On est ou on est pas :)
Posté le 03-01-2007 à 02:00:04  profilanswer
 

Quand tu dis rien, c'est un bogue que tu constates toi même ou bien tu vois ça dans les log des gens qui tripatouille l'url à la main :??:
 
Si première solution va falloir donner plus de code sur la façon dont tu génères le lien.
 
Si deuxième solution, suffit juste de pas injecter n'importe comment et de vérifier qu'il y a quelque chose et donner une valeur par défaut ce qui est mieux ;)

n°1498302
dustnet
Posté le 03-01-2007 à 15:47:42  profilanswer
 

Je vais essayer d'être plus clair.
 
Mon site est en .com et l'adresse est masquée, il n'y a donc pas de tripatouillage d'adresse (enfin c surement possible mais le probleme n'est pas là, c'est un site perso consulté uniquement par des amis).
 
J'ai une page html Photographies.htm sur laquelle j'ai le lien (sur une image) suivant <a href="AffichageVignette.php?cat=Animal">.
 
Quand je clique sur ce lien et que je suis donc dans AffichageVignette.php, une fois sur 5 ou 6 ou parfois bcp plus, ma requete de selection du type "select * from images where cate=$cat" ne renvoie rien car $cat est vide.
 
Ce que je fais pour éviter d'avoir une page completement vide c'est un truc du style
if ( $cat == "" )
{
     // ERREUR
}
else
{
     // DEROULEMENT NORMAL
}
 
Mais il n'empêche que je ne comprends pas pkoi ce paramétre devient vide de façon aléatoire....
 
En espérant avoir été plus clair je vous remercie de votre aide !  :hello:

n°1498307
chani_t
From Dune
Posté le 03-01-2007 à 15:55:35  profilanswer
 

tu fais donc de l'url rewriting, est ce que le probléme n'est pas la ?
 
Le lien est statique ou dynamique (le lien qui pose probléme).

n°1498527
asirem
Posté le 03-01-2007 à 23:48:12  profilanswer
 

à mon avis c'est un problème dans le type $cat
Puisque PHP n'est pas fortement typé, il arrive souvents des problèmes sans savoir leurs origines

n°1498555
leflos5
On est ou on est pas :)
Posté le 04-01-2007 à 02:12:01  profilanswer
 

Ca foire au niveau du lien ou dans le traitement ultérieur :??:

n°1499218
FlorentG
Unité de Masse
Posté le 05-01-2007 à 11:19:21  profilanswer
 

dustnet a écrit :

$requete1= "select nom_petite,num_image from images where categorie='$cat' order by num_image";


Comme les autres l'ont dit, ça s'écrit :

Code :
  1. if(isset($_GET['cat'])) {
  2.   $cat = $_GET['cat'];
  3.   ...
  4.   requete1= 'select nom_petite,num_image from images where categorie=\'' . mysql_real_escape_string($cat) . '\' order by num_image';
  5.   ...
  6. } else {
  7.   header('404 Not Found');
  8.   ....
  9. }


Message édité par FlorentG le 05-01-2007 à 11:19:32
n°1499355
dustnet
Posté le 05-01-2007 à 14:49:34  profilanswer
 

Merci bcp de votre aide.
 
Le code fourni par FlorentG a completement reglé le problème. Une simple question reste à l'horizon, pourquoi cela foirait avant de façon aléatoire (le fameux "une fois sur 5 ou 6" )
 
PS: mon lien est statique.

mood
Publicité
Posté le 05-01-2007 à 14:49:34  profilanswer
 

n°1499357
FlorentG
Unité de Masse
Posté le 05-01-2007 à 14:50:24  profilanswer
 

Il faudrait voir le code avant, mais en utilisant register_globals, on peut souvent arriver à des problèmes du style variable réécrite


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Parametre dans URL, foire une fois sur 5...

 

Sujets relatifs
[Résolu ] [Cobol et JCL] Paramètre d'un programmeVB6 probleme lecture URL Urgent merci
Url rewritingRègle Url Rewriting
Ajouter un URL aux Favoris (ctrl+d)URL Rewriting complexe
passer un tableau en parametre dans un sub?Charger plusieurs fois le même clip ?
faire un join sur plusieurs champs à la fois?[PHP] passer un array dans l'URL pour inclure des pages en pseudo-fram
Plus de sujets relatifs à : Parametre dans URL, foire une fois sur 5...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR