Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Description

bonjour,

cette fonction permet de simplifier l'accès aux $_GET & $_POST, en évitant les contrôles rébarbatifs....
 

Source

  • function CtrlPOST_GET($type,$var)
  • {
  • global $NoPG;
  • switch (strtolower($type))
  • {
  • case "get":
  • {
  • if (isset($_GET[$var]))
  • return $_GET[$var];
  • elseif ($NoPG==0 || !isset($NoPG))
  • {
  • echo "Erreur, référence - <i>$var</i> - (GET) vide.";
  • exit();
  • }
  • break;
  • }
  • case "post":
  • {
  • if (isset($_POST[$var]))
  • return $_POST[$var];
  • elseif ($NoPG==0 || !isset($NoPG))
  • {
  • echo "Erreur, référence - <i>$var</i> - (POST) vide.";
  • exit();
  • }
  • break;
  • }
  • }
  • }
	function CtrlPOST_GET($type,$var)
	{
		global $NoPG;
		switch (strtolower($type))
		{
			case "get":
			{
				if (isset($_GET[$var]))
					return $_GET[$var];
				elseif ($NoPG==0 || !isset($NoPG))
				{
					echo "Erreur, référence - <i>$var</i> - (GET) vide.";
					exit();
				}
				break;
			}
			case "post":
			{
				if (isset($_POST[$var]))
					return $_POST[$var];
				elseif ($NoPG==0 || !isset($NoPG))
				{
					echo "Erreur, référence - <i>$var</i> - (POST) vide.";
					exit();
				}
				break;
			}
		}
	}

Conclusion

Utilisation :

$mavar=CtrlPOST_GET('GET','MaVarGET');

ou
$mavar=CtrlPOST_GET('POSTT','MaVarGET');

si cet argument est facultativement rempli, mettre la variable globale $NoPG à -1, comme ça la fonction ne retournera pas d'erreur si cet argument est vide.
A++
 

Commentaires et avis

signaler à un administrateur
Commentaire de malalam le 09/05/2005 17:50:37 administrateur CS

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'].

signaler à un administrateur
Commentaire de Anthomicro le 09/05/2005 18:08:26

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 ++

signaler à un administrateur
Commentaire de malalam le 09/05/2005 18:23:22 administrateur CS

Exact :-)

signaler à un administrateur
Commentaire de glad le 10/05/2005 07:34:37

hello,

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

A++

signaler à un administrateur
Commentaire de malalam le 10/05/2005 09:09:19 administrateur CS

On en est tous la ;-)
Sinon a part ca, c'est pas mal ecrit. Rien a dire de bien inquietant.

signaler à un administrateur
Commentaire de Kirua le 11/05/2005 15:54:41

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 ^^.

signaler à un administrateur
Commentaire de malalam le 11/05/2005 16:04:10 administrateur CS

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...:-)

signaler à un administrateur
Commentaire de coucou747 le 14/05/2005 02:08:56

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...)

signaler à un administrateur
Commentaire de Anthomicro le 14/05/2005 07:09:23

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

signaler à un administrateur
Commentaire de Anthomicro le 14/05/2005 07:11:42

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

signaler à un administrateur
Commentaire de adys le 14/05/2005 12:15:36

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 ;)

signaler à un administrateur
Commentaire de Kirua le 14/05/2005 14:07:20

fais plutôt ça:

return isset($_GET[$var]) ? $_GET[$var] : $defaut;

signaler à un administrateur
Commentaire de Anthomicro le 14/05/2005 14:17:23

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...

signaler à un administrateur
Commentaire de adys le 14/05/2005 14:21:35

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

signaler à un administrateur
Commentaire de pascal131966 le 09/08/2005 01:38:57

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

signaler à un administrateur
Commentaire de Anthomicro le 09/08/2005 12:01:33

fais-toi plutôt un code propre de vérification sur ta page plutôt que d'utiliser une fonction.

signaler à un administrateur
Commentaire de adys le 09/08/2005 13:40:50

Je comprends pas trop ta question pascal...

signaler à un administrateur
Commentaire de TheBuzzer le 14/09/2006 10:47:30

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>
<body>
<a href="" onMouseOver="alert($temp);">Test</a>
</body>
</html>

Merci gang!

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.