FONCTION PERMETTANT DE GÉRER LES POST ET GET DES FORMULAIRES HTML

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 9 mai 2005 à 17:50
TheBuzzer Messages postés 19 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 25 août 2009 - 14 sept. 2006 à 10:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31288-fonction-permettant-de-gerer-les-post-et-get-des-formulaires-html

TheBuzzer Messages postés 19 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 25 août 2009
14 sept. 2006 à 10:47
Merde, j'essais de faire des GET et ça ne fonctionne pas, qqun peut m'aider, voici mon code...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Page test de GET</title>
</head>
<script>
$temp=$_GET["PageToGo"];
</script>

[ Test]

</html>

Merci gang!
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
9 août 2005 à 13:40
Je comprends pas trop ta question pascal...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 août 2005 à 12:01
fais-toi plutôt un code propre de vérification sur ta page plutôt que d'utiliser une fonction.
pascal131966 Messages postés 16 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 4 janvier 2009
9 août 2005 à 01:38
est ce que cette foctio permet de recevoir des post et des get sur une meme page
permettant d'éviter les Notice: Undefined index:
quand on envoie par get et que c post ki teste ...
si oui ou je fous ma fonction et ou je l'appelle

merci
pascal 13
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
14 mai 2005 à 14:21
C'est vrai Kirua, j'aurais pu faire comme ça, mais j'ai connu cette syntaxe ya quelques mois, et j'avais développé la fonction avant... Mais c'est pas con ^^
Merci
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 mai 2005 à 14:17
le couple if=>else est plus rapide, vu que c'est dans une fonction, autant le laisser comme ça (comprendre : "la propreté n'est pas ici vraiment à prendre en compte")

enfin bon ce n'est que mon avis...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
14 mai 2005 à 14:07
fais plutôt ça:

return isset($_GET[$var]) ? $_GET[$var] : $defaut;
cs_adys Messages postés 28 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 août 2007
14 mai 2005 à 12:15
J'ai développé une fonction de 5 lignes qui fait environ la même chose :

function val_var($var,$defaut=false){
if(isset($var)) return $var;
else return $defaut;
}
Ça teste la variable passée en paramètre, renvoi false (ou une valeur définie en 2ème argument) si elle n'est pas isset(), sinon elle retourne la valeur.

Au lieu de faire (faisable aussi en une ligne) :
if (isset($ma_var)) {
$ma_new_var = $ma_var;
}
else{
$ma_new_var = 'valeur par défaut';
}

Tu fais une seule ligne, et courte :
$ma_new_var = val_var($ma_var,'valeur par défaut');

Car je présume que tu utilise ton code pour te servir du résultat retourné ensuite ^^.

Si cette remarque ne servait à rien, vous avez le droit de m'insulter, mais pas trop quand même ;)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 mai 2005 à 07:11
Extract n'est équivalent à mettre auto globals à On que dans le cas où tu n'utilises pas EXTR_SKIP et que tu ne déclares pas tes variables. Dans un bon code, ça ne changera rien.

Après c'est sûr qu'il est largement préférable d'utiliser $_GET et $_POST
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 mai 2005 à 07:09
Extract n'est équivalent à mettre auto globals à On que dans le cas où tu n'utilises pas EXTR_SKIP et que tu ne déclares pas tes variables. Dans un bon code, ça ne changera rien.

Après c'est sûr qu'il est largement préférable d'utiliser $_GET et $_POST
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 mai 2005 à 02:08
vu l'heure qu'il est, je ne dois plus arriver à lire...

GET et POST sont super simple à utiliser, alors pourquoi leur faire des fonctions ?

c'est comme si t'allais faire une fonction qui renverrais un paramètre (je l'ai fait en C pour assigner une valeur à un pointeur...)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 mai 2005 à 16:04
Ca je suis bien d'accord, mais dans ce cas, ce script aussi est inutile lol. Donc...je donne mon avis sur ce qui peut-etre fait a la place de ce script.
Mais franchement, utiliser les $_POST et $_GET directement n'est pas tres difficile...:-)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
11 mai 2005 à 15:54
faut surtout pas faire extract, c'est équivalent à remettre auto globals à on quoi, genre que je réactive la faille de sécurité, olé olé. quand php essaye d'introduire de la rigueur, faut faire la fête, pas contourner ^^.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mai 2005 à 09:09
On en est tous la ;-)
Sinon a part ca, c'est pas mal ecrit. Rien a dire de bien inquietant.
cs_glad Messages postés 97 Date d'inscription lundi 26 novembre 2001 Statut Membre Dernière intervention 24 février 2012
10 mai 2005 à 07:34
hello,

bon bon, j'ai encore de quoi progresser en php !
pas d'inquiètude :-p

A++
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 mai 2005 à 18:23
Exact :-)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 mai 2005 à 18:08
Salut,

n'oublie pas dans le extract le paramètre EXTR_SKIP pour ne pas réécrire les variables (faille de sécu potentielle dans ce cas).

Bref
if(is_array($_GET))
{
extract($_GET,EXTR_SKIP);
}

a ++
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 mai 2005 à 17:50
Hello,

if (is_array ($_GET))
extract ($_GET);
marche tres bien pour ces cas-la ou on veut a tous prix recuperer des variables du genre $mavar et non pas $_GET['mavar'].
Rejoignez-nous