Var globales à OFF - incertitudes

lagassat Messages postés 527 Statut Membre -  
lagassat Messages postés 527 Statut Membre -
Salut à tous,

Ayant ete habitue à prog avec les variables globales, je suis un peu perdu depuis qu'elles sont passees à OFF avec les dernieres moututres de php...

Je recupere un variable, dans mon script php, provenant d'un formulaire html. Comme il y a transmission, je suppose donc que je dois utiliser un POST (ou un GET mais je prefere un POST ;-) ).
$nom = $_POST['nom'];


Apres je communique avec ma bdd, cela suppose -t-il que je modifie aussi mes variables qui me servent à me connecter (login, etc.) de la meme facon ?
Et de meme pour les variables que je transmet à travers mes requetes ?

Par contre, il ne me semble pas utille de modifier les variables qui ne me servent qu'a stocker des chaines de caracteres pour les tronquer... Ai-je raison ?

Et ou dois-je declarer ma variable avec une "superglobale" ? Avant d'affecter la valeur à ma variable que je vais transmettre ?
ex :
$Mot="test";
$MOt = $_POST['Mot'];

Ou c'est l'inverse ?

Merci d'avance

Ciao
"2 choses sont infinies : l'univers et la betise humaine
bien que en ce qui concerne la 1ere je n'ai pas encore de certitude absolue"
A voir également:

3 réponses

lagassat Messages postés 527 Statut Membre 80
 
bonjour,

up

"2 choses sont infinies : l\'univers et la betise humaine
bien que en ce qui concerne la 1ere je n\'ai pas encore de certitude absolue"
0
ericpons Messages postés 39 Statut Membre 15
 
Ben les super globales ne concernent que les variables transmises par POST, GET, les COOKIEs, et les variables d'environnement (ENV, SERVER...).
Tes variables personnelles, appelées et manipulées dans ton script n'appartiennent pas à ces catégories et n'existent donc pas dans les tableaux POST, ou GET ou autres.
Il n'y a aucune utilité de déclarer tes variables en superglobales en les créant artificiellement dans ces tableaux.
Par contre si elles doivent suivre d'un script à un autre ce ne peut être que par ces mécanismes.
$Mot crée dans un script deviendra $_COOKIE['Mot'] dans le script suivant si tu l'as stockée dans un cookie, ou $_GET['Mot'] si tu l'as transmise par l'URL.
Tes variables de connexion, si elles sont le résultat d'un formulaire sont aussi affectées par l'incorporation dans GET ou POST. Si elles sont le résultat d'un
define
quelque part dans ton script (ou d'une déclaration $login="..."), elles ne sont pas affectées.
Lorsque tu réalises une réquête avec des paramètres obtenus d'un formulaire là aussi il faut passer par les superglobales, mais là fait gaffe au simple quote ', il vaut mieux faire:
." WHERE id=".$_POST['identité']."\"";
que
." WHERE id=$_POST['identité']\"";
parce que l'imbrication des deux niveaux de quotes marche pas toujours très bien.

Est-ce que j'ai répondu à ta question?

Eric.
0
lagassat Messages postés 527 Statut Membre 80
 
ok merci pour les infos, ca m'a conforte dans ma "comprehension" des explications donnees sur le site de php... Avec l'anglais je me mefie qund meme un peu, une mauvaise interpretation est vite arrivee.

"2 choses sont infinies : l'univers et la betise humaine
bien que en ce qui concerne la 1ere je n'ai pas encore de certitude absolue"
0