Probleme en $_GET
Fermé
megarachid
Messages postés
25
Date d'inscription
dimanche 29 janvier 2012
Statut
Membre
Dernière intervention
9 septembre 2015
-
16 mars 2012 à 03:04
megarachid Messages postés 25 Date d'inscription dimanche 29 janvier 2012 Statut Membre Dernière intervention 9 septembre 2015 - 16 mars 2012 à 15:39
megarachid Messages postés 25 Date d'inscription dimanche 29 janvier 2012 Statut Membre Dernière intervention 9 septembre 2015 - 16 mars 2012 à 15:39
1 réponse
le hollandais volant
Messages postés
4998
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
23 décembre 2023
1 057
16 mars 2012 à 09:20
16 mars 2012 à 09:20
Salut !
Le soucis ici, c'est que l'ensemble des éléments dans l'URL sont testés et doivent être présents. Je conseille plutôt ça :
Par ailleurs, je te conseille très fortement de mettre des htmlspecialchars partout, comme ça :
Ne pas le faire est dangereux (risque de piratage), et c'est une erreur grave dans le développement web.
Le soucis ici, c'est que l'ensemble des éléments dans l'URL sont testés et doivent être présents. Je conseille plutôt ça :
<?php if (!empty($_GET['pseudo'])) { $pseudo=$_GET['pseudo']; } else { $pseudo=''; } if (!empty($_GET['commentaire'])) $commentaire=$_GET['commentaire']; } else { $commentaire=''; } if (!empty($_GET['pays'])) { $pays=$_GET['pays']; } else { $pays=''; } if (!empty($_GET['ville']) { $ville=$_GET['ville']; } else { $ville=''; } if (!empty($_GET['sexe'])) { $sexe=$_GET['sexe']; } else { $sexe=''; } if (!empty($_GET['age'])) { $age=$_GET['age']; } else { $age=''; } ?>
Par ailleurs, je te conseille très fortement de mettre des htmlspecialchars partout, comme ça :
if (!empty($_GET['age'])) { $age=htmlspecialchars($_GET['age']); }
Ne pas le faire est dangereux (risque de piratage), et c'est une erreur grave dans le développement web.
16 mars 2012 à 11:24
De plus, tu passes ton formulaire en GET avec beaucoup de textes (pseudo, commentaire, pays, ville, sexe, age) et par conséquent, ton url doit être très longue si tu ne limite pas la taille de chaque champ.
Il ne faut pas oublié que la longueur maximale d'une url est de 256 caractères et que tout ce qui dépasse sera donc tronqué et par conséquent tes variables qui viennent ensuite et leur contenu disparaissent.
16 mars 2012 à 12:52
Surtout pour la variable "commentaire" qui peut parfois être très long.
16 mars 2012 à 15:39
et j'ai un autre probleme
je fais d'affiche de tableux d'inscription d'une une table php comme des liens et je veux savoir comment faire pour passer le nom que je clique dans un URL avec le page qui vas afficher ila vas afficher sur une iframe
mon c'est que je ne sait pas comment passer ce pseudo que je clique pour le utiliser dans des requete sur dans la page distant dans URL
et c'est ca le code que j'ai utilise
echo '<td bgcolor="#CCCCCC"><a href = "info.php ?pseudo='.$row['pseudo']. '" target="zone">' .$row['pseudo']. '<br/></a></td>';