Probleme en $_GET
megarachid
Messages postés
28
Statut
Membre
-
megarachid Messages postés 28 Statut Membre -
megarachid Messages postés 28 Statut Membre -
Bonjour,
je veux savoir comment on peut utiliser $_GET pour récupérer une variable dans un lien php j'ai essayer avec ca mais il marche pas
<?php
if(!empty($_GET['pseudo'])&&!empty($_GET['commentaire'])&&!empty($_GET['pays'])&&!empty($_GET['ville'])&&!empty($_GET['sexe'])&&!empty($_GET['age']))
{
$pseudo=$_GET['pseudo'];
$commentaire=$_GET['commentaire'];
$pays=$_GET['pays'];
$ville=$_GET['ville'];
$sexe=$_GET['sexe'];
$age=$_GET['age'];
}
?>
je veux savoir comment on peut utiliser $_GET pour récupérer une variable dans un lien php j'ai essayer avec ca mais il marche pas
<?php
if(!empty($_GET['pseudo'])&&!empty($_GET['commentaire'])&&!empty($_GET['pays'])&&!empty($_GET['ville'])&&!empty($_GET['sexe'])&&!empty($_GET['age']))
{
$pseudo=$_GET['pseudo'];
$commentaire=$_GET['commentaire'];
$pays=$_GET['pays'];
$ville=$_GET['ville'];
$sexe=$_GET['sexe'];
$age=$_GET['age'];
}
?>
1 réponse
-
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 :<?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.
-
+1 pour le hollandais volant (en même temps c'est normal...).
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. -
-
ok merci a vous tous vous avez me donnez une tres belle idee c'est detuliser sur URL le pseudo seul et apres je peut appeler les autres par une requete mysql et ton code qui tu ma donner mr "le hollandiais volant " marche bien merci bcq
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>';
-