Probleme en $_GET

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'];
}
?>

1 réponse

le hollandais volant Messages postés 5294 Statut Membre 1 058
 
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.
0
Colbi97 Messages postés 643 Statut Membre 12
 
+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.
0
le hollandais volant Messages postés 5294 Statut Membre 1 058
 
Oui, le mieux parfois est d'utiliser un formulaire en POST.

Surtout pour la variable "commentaire" qui peut parfois être très long.
0
megarachid Messages postés 28 Statut Membre 1
 
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>';
0