MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 24 mai 2005 - 22 h 34 m 14 s |
|
|
Reprise du message précédent :
la question de l'ignorant de service : on retourne une variable locale à la fonction. Mais à la fin de la fonction, la mémoire locale n'est pas libérée, auquel cas l'espace utilisé par les locales peut être à tout moment occupé par un autre process ?
|
Si tu as besoin d'être eclairé sur les variables et leur portées dans un script PHP, consulte cette page : http://tecfa.unige.ch/guides/php/php5_fr/language.variables.scope.html
| autre chose maintenent... si je ne vaux pas mettre de valeur par defaut dans ma fonction, |
La je rejoins mik69, ou es l'intéret ?
C'est surtout le 'sinon tampis', alors à la limite, tu peut ecrire ça
$var = (isset($_GET[$var])) ? $_GET[$var] :NULL;
mais cette vérification ne sert pas à grand chose et une fonction est totalement superflue dans ce cas.
Essai de préciser un peu plus
|
|
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 24 mai 2005 - 23 h 03 m 33 s |
|
|
Si tu ne veux pas forcément définir de variable, il ne faut pas utiliser la méthode du $variable = fonction(), car dans ce cas-là $variable sera forcément affectée
Tu as donc 2 choix : variable globale ou passage par référence
- variable globale
1. // anti bug bizarre balide code
2. fonction($a,$b,....)
3. {
4. global $var;
5. // test machin chose
6. if( ... ) unset($var);
7. }
- passage par référence
1. // anti bug bizarre balide code
2. fonction($a,&$b)
3. {
4. // test machin chose
5. if( ... ) unset($b);
6. }
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 24 mai 2005 - 23 h 13 m 14 s |
|
|
Je m'en souviendrai de l'anti bug Erel
|
|
| |
|
fanfouer
Paysan completement ADSLisé
Messages : 1 157 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 25 mai 2005 - 07 h 59 m 43 s |
|
|
enfait, dans mes récupération de variables, j'utilise les deux méthodes possibles (POST et GET). Or, des fois dans mon code, un meme variable peut etre récupéré par POST et GET car je ne sait pas d'ou elle arrive (soit d'un formulaire ou de l'adresse). Sachant que c'est soit par GET ou par POST qu'elle est définie (jamais les deux) ma variable va forcement se retrouver avec une valeur par défaut dans tous les cas vu qu'il y aura toujour une fonction que va me la mettre en valeur par defaut.
J'aimerai le moyen d'enlever la définition de la valeur par defaut dans la fonction POST (qui est la meme que GET mais en changeant la méthode) comme ca, si la variable existe et est définie, on la récupère dans l'adresse sinon rien en se passe.
la fonction GET n'est pas à toucher
Merci de votre aide car j'avoue que c'est un peu bordelique mes explication
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 25 mai 2005 - 08 h 29 m 46 s |
|
|
Si j'ai bien compris, tu veut, si la méthode $_POST est utilisé, récupérer la valeur de $_POST[$var], sinon, récupérer $_GET[$var] ou la valeur par défaut si elle est absente ?
Alors suffit d'utiliser un 'if' et une seul fonction :
1. function recupVar($var, $newvalue){
2. if(isset($_POST[$var])) $var = $_POST[$var];
3. else $var = (isset($_GET[$var])) ? $_GET[$var] : $newvalue;
4. return $var;
5. }
6. $var = recupVar("test", "Undefined");
7. echo $var;
|
|
| |
Message édité 1 fois, la dernière par MrGinglE le 25 mai 2005 - 08 h 30. |
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
fanfouer
Paysan completement ADSLisé
Messages : 1 157 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 25 mai 2005 - 08 h 38 m 25 s |
|
|
alor c'est encore mieu!!! ca marche et merci!
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 25 mai 2005 - 14 h 01 m 47 s |
|
|
Le 24 mai 2005 - 22 h 34, MrGinglE a écrit :
la question de l'ignorant de service : on retourne une variable locale à la fonction. Mais à la fin de la fonction, la mémoire locale n'est pas libérée, auquel cas l'espace utilisé par les locales peut être à tout moment occupé par un autre process ?
|
Si tu as besoin d'être eclairé sur les variables et leur portées dans un script PHP, consulte cette page : http://tecfa.unige.ch/guides/php/php5_fr/language.variables.scope.html
|
Je crois que Bernie ne parlait pas que de la portee des variables PHP ..
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 25 mai 2005 - 15 h 17 m 11 s |
|
|
Ben si c'est juste pour $_GET et $_POST, utilise tout simplement :
$var = $_REQUEST['var'];
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 25 mai 2005 - 18 h 22 m 47 s |
|
|
pas con...
|
|
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|