[PHP] utilité de isset?

utilité de isset? [PHP] - PHP - Programmation

Marsh Posté le 24-06-2003 à 04:04:45    

à quoic a sert réelement sachant que mon code1 donne le meme result que mon code2
 
code1

Code :
  1. if ($_POST['session_submit']) {
  2.  $session_flag = false;
  3. }


 
code2

Code :
  1. if (isset($_POST['session_submit'])) {
  2.  $session_flag = false;
  3. }


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 24-06-2003 à 04:04:45   

Reply

Marsh Posté le 24-06-2003 à 08:36:31    

dans ton cas la variable est un booléen donc renvoyer vrai pour sa valeur ou vrai car elle existe revient au meme.
 
par contre si tu ne peux pas savoir avec exactitude la valeur de ta var (hormis pour un booléen) il est utile de savoir si elle est renseignée ;) :)

Reply

Marsh Posté le 24-06-2003 à 08:42:48    

paulmuadib a écrit :

dans ton cas la variable est un booléen donc renvoyer vrai pour sa valeur ou vrai car elle existe revient au meme.
 
par contre si tu ne peux pas savoir avec exactitude la valeur de ta var (hormis pour un booléen) il est utile de savoir si elle est renseignée ;) :)

C'est quoi ce français de babouin ? :heink:
 
http://fr.php.net/manual/fr/function.isset.php


Message édité par *syl* le 24-06-2003 à 08:44:47
Reply

Marsh Posté le 24-06-2003 à 10:52:12    

burgergold a écrit :

à quoic a sert réelement sachant que mon code1 donne le meme result que mon code2
 
code1

Code :
  1. if ($_POST['session_submit']) {
  2.  $session_flag = false;
  3. }


 
code2

Code :
  1. if (isset($_POST['session_submit'])) {
  2.  $session_flag = false;
  3. }



dans ton premier cas, tu auras FALSE kan $_POST['session_submit'] est vide(indéfini) ou égal à 0...
 
dans le 2è, tu auras FALSE ke si ta var est indéfini...


---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
Reply

Marsh Posté le 24-06-2003 à 10:58:01    

j préfère une explication du genre de muaddib, même si c assez flou, k un renvoie sur la doc sans autre commentaire...


Message édité par En_Sabah_Nur le 24-06-2003 à 10:58:46

---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
Reply

Marsh Posté le 24-06-2003 à 11:01:14    

En_Sabah_Nur a écrit :

j préfère une explication du genre de muaddib, même si c assez flou, k un renvoie sur la doc sans autre commentaire...


En même temps, la doc est super claire sur ce sujet, faut pas déconner. En tout cas, beaucoup plus claire et compréhensible que les deux phrases de semi-français de paulmuadib.
De manière générale, la doc de PHP est claire et bien faite, illustrée par de nombreux exemples. Il faut savoir s'y référer avant de balancer des posts sur ce forum [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 11:09:40    

Taiche a écrit :


En même temps, la doc est super claire sur ce sujet, faut pas déconner. En tout cas, beaucoup plus claire et compréhensible que les deux phrases de semi-français de paulmuadib.
De manière générale, la doc de PHP est claire et bien faite, illustrée par de nombreux exemples. Il faut savoir s'y référer avant de balancer des posts sur ce forum [:spamafote]

je suis bien d accord...


---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
Reply

Marsh Posté le 24-06-2003 à 11:35:00    

En_Sabah_Nur a écrit :

je suis bien d accord...

Dans ce cas là, j'vois pas l'utilité de ton post plus haut :p

Reply

Marsh Posté le 24-06-2003 à 11:44:20    

*Syl* a écrit :

Dans ce cas là, j'vois pas l'utilité de ton post plus haut :p  

en fait, c plus le ton de ta réponse ki me génait [:mr marron derriere]
 
syl, comme le groupe?


---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
Reply

Marsh Posté le 24-06-2003 à 11:50:35    

En_Sabah_Nur a écrit :

en fait, c plus le ton de ta réponse ki me génait [:mr marron derriere]

Bah déjà ça m'énerve de voir des posts aussi incompréhensible que ça, de 2, le nom du mec me faisait penser à un con d'admin d'un forum donc j'me suis pas retenu pour dire c'que j'pensais de son post :D
 

En_Sabah_Nur a écrit :

syl, comme le groupe?

Euh non :??:
Syl comme Sylvain, stout :D

Reply

Marsh Posté le 24-06-2003 à 11:50:35   

Reply

Marsh Posté le 24-06-2003 à 11:57:13    

euh ??
 
isset, c po pour tester l existence d'une variable ?
 
et
 
empty, pour tester si elle est vide ?

Reply

Marsh Posté le 24-06-2003 à 12:00:08    

DocWario a écrit :

euh ??
 
isset, c po pour tester l existence d'une variable ?
 
et
 
empty, pour tester si elle est vide ?


 
Ben si normalement, enfin on peut se tromper mais c pourtant ça, ou alors on est 2 cons à croire ça  :p


---------------
Q.G Tutoriaux ici
Reply

Marsh Posté le 24-06-2003 à 12:01:46    

DocWario a écrit :

euh ??
 
isset, c po pour tester l existence d'une variable ?
 
et
 
empty, pour tester si elle est vide ?

Tu doutais de ça ? :)

Reply

Marsh Posté le 24-06-2003 à 12:15:56    

En fait, faire
 

if ($_POST['session_submit'])


 
C'est pas propre ! Si la variable n'existe pas, PHP ne va pas te gronder en temps normal.
 
Mais avec error_reporting( E_ALL ); alors là, t'as une erreur.
 
Si ton script fait 10 lignes, c'est pas important, mais sur un plus gros projet, utiliser error_reporting( E_ALL ); permet de visualiser les endrois du code qui risquent d'avoir un comportement qui n'est pas voulu, et donc de faciliter la recherche de bugs.
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 24-06-2003 à 13:55:23    


 
tu es qui pour t'adresser en ces termes à quelqu'un que tu ne connais pas?
 
On ne doit pas avoir la meme definition de babouin, de plus mon explication est ce qu'il y a de plus claire
 
Il est possible que je sois l'admin en question mais je suis plutot pacifiste et ai tres peu voire meme aucun enemi alors dis m'en un peu plus sur toi pour que je sache si ton attaque est fondée.
 
En_Sabah_Nur -> content de t'avoir eclairé
 
les autres -> tant pis mais de là à m'insulter... je trouve ça un peu puéril et facile ...

Reply

Marsh Posté le 24-06-2003 à 14:48:01    

Mara's dad a écrit :

En fait, faire
 

if ($_POST['session_submit'])


 
C'est pas propre ! Si la variable n'existe pas, PHP ne va pas te gronder en temps normal.
 
Mais avec error_reporting( E_ALL ); alors là, t'as une erreur.
 
Si ton script fait 10 lignes, c'est pas important, mais sur un plus gros projet, utiliser error_reporting( E_ALL ); permet de visualiser les endrois du code qui risquent d'avoir un comportement qui n'est pas voulu, et donc de faciliter la recherche de bugs.
 
 


 
 :jap: , c ce genre de réponse que j'attendais


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 24-06-2003 à 16:06:56    

*Syl* a écrit :

Bah déjà ça m'énerve de voir des posts aussi incompréhensible que ça, de 2, le nom du mec me faisait penser à un con d'admin d'un forum donc j'me suis pas retenu pour dire c'que j'pensais de son post :D


 
Bon dejà je capte pas en quoi mon post est incompréhensible (dis plutot je comprends pas...)
 
Apres le con d'admin sent une pointe d'amertume dans tes propos. Satisfait que tu ais été viré (sinon tu le serais actuellement) (meme si je sais toujours pas qui tu es...)
 
Puis pour terminer tu ne dis pas ce que tu penses de mon post (si tu l'as compris bien sur) mais plutot de moi (enfin de l'impression que j'ai du te laisser)
 
Donc j'aurais apprecié que tu mettes de coté tes rancoeurs plutot que de m'insulter de la sorte sans raison apparente


Message édité par paulmuadib le 24-06-2003 à 16:11:06
Reply

Marsh Posté le 24-06-2003 à 16:13:41    

pk tlm s'engueule tjrs sur mes topics bourdel


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 24-06-2003 à 16:37:00    

paulmuadib a écrit :


On ne doit pas avoir la meme definition de babouin, de plus mon explication est ce qu'il y a de plus claire


Non.
Tu écris :

Citation :

par contre si tu ne peux pas savoir avec exactitude la valeur de ta var (hormis pour un booléen) il est utile de savoir si elle est renseignée


Ce bout de phrase est pas très compréhensible, chu désolé. En tout cas, ça vaut pas l'explication de la doc PHP :

Citation :

isset() renvoie TRUE si la variable var est définie, FALSE sinon.


Y a pas besoin de partir dans des cas booléen/pas booléen, valeur de la variable et tutti quanti [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 16:47:08    

désolé de pas avoir été clair
 
mais if ($_POST['session_submit']) renvoit quoi si la variable n'est pas booléene et n'a pas de valeur?

Reply

Marsh Posté le 24-06-2003 à 16:50:28    

paulmuadib a écrit :

désolé de pas avoir été clair
 
mais if ($_POST['session_submit']) renvoit quoi si la variable n'est pas booléene et n'a pas de valeur?


Ba j'en sais rien [:spamafote] C'est quoi "n'a pas de valeur" ? La variable est-elle définie ou non ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 17:02:15    

non

Reply

Marsh Posté le 24-06-2003 à 17:06:03    

Avec une install par défaut de PHP, on rentrera quand même dans la condition [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 17:06:08    

paulmuadib a écrit :

désolé de pas avoir été clair
 
mais if ($_POST['session_submit']) renvoit quoi si la variable n'est pas booléene et n'a pas de valeur?


a partir du moment où la variable est dans un if tout seule, elle fait office de booléen.
On a donc
- pas défini, false, 0 qui valent FALSE
- le reste qui vaut TRUE
Mais c'est coder salement.

Reply

Marsh Posté le 24-06-2003 à 17:08:27    

gizmo a écrit :


a partir du moment où la variable est dans un if tout seule, elle fait office de booléen.
On a donc
- pas défini, false, 0 qui valent FALSE
- le reste qui vaut TRUE
Mais c'est coder salement.


Non, justement, tu rentres dans la condition quand même. Enfin, c'était le cas dans un PHP 4.2.3 ; depuis, j'utilise tout le temps isset() :D


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 17:10:09    

Taiche a écrit :


Non, justement, tu rentres dans la condition quand même. Enfin, c'était le cas dans un PHP 4.2.3 ; depuis, j'utilise tout le temps isset() :D


non, tu ne dois pas rentrer dans la condition. Si tu rentres dedans, c'est que tu l'as assignée plus haut. C'est impossible autrement.

Reply

Marsh Posté le 24-06-2003 à 17:14:41    

gizmo a écrit :


non, tu ne dois pas rentrer dans la condition. Si tu rentres dedans, c'est que tu l'as assignée plus haut. C'est impossible autrement.


Ba c'est une variable de POST, donc pour l'assigner autrement que par submit d'un formulaire, faut en vouloir [:ddr555]
J'sais pas, j'avais ce comportement, c'est certain et c'est d'ailleurs isset() qui m'avait sorti de la merde. Maintenant, j'ai pu la plateforme pour tester et j'utilise tout le temps isset(), donc p'têt que t'as raison [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-06-2003 à 18:11:08    

Taiche a écrit :


Ba c'est une variable de POST, donc pour l'assigner autrement que par submit d'un formulaire, faut en vouloir [:ddr555]
J'sais pas, j'avais ce comportement, c'est certain et c'est d'ailleurs isset() qui m'avait sorti de la merde. Maintenant, j'ai pu la plateforme pour tester et j'utilise tout le temps isset(), donc p'têt que t'as raison [:spamafote]


Bon, la je suis d'accord avec gizmo. Si tu rentre dans :
 
if( $_POST['toto'] )
 
C'est que la variable existe et qu'elle contient autre chose que '', false, 0.
 
Le moyen de ne pas renter dans le if, c'est de saisir l'url manuellement, ou d'arriver par un lien ou un formulaire en GET.
 
Mais bon, on s'en fout puisqu'on est tous d'accord :
 
Le isset() est de rigueur sur tous les $_*


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-10-2003 à 16:15:40    

Hello
je résuscite ce topic mort pour une question concernant le isset :
 
Avec PHP 4.3 (je crois), il faut tester les variables POST, GET, SESSIOn, COOKIE.......... pour savoir si elles sont définies ! C vraiment pas une réussite ! J'ai vu qu'il fallait utiliser ISSET.
 
Je suis donc obligé de faire un double test :  
 
Code:  
if ( isset($_GET['session']) && $_GET['session']=='stop')  
{  
   ......  
}  
 
 
 
Ya pas plus simple ?????  
Merci

Reply

Marsh Posté le 10-10-2003 à 16:23:01    

Ba c'est secure. Y a plus simple mais moins sécurisé : dans ton php.ini tu fous la variable register_globals à on et tu pourras faire if(isset($session))...
 
(d'ailleurs, appeler une variable de formulaire $session est pas forcément de très bon aloi, si je peux me permettre [:ddr555])


Message édité par Taiche le 10-10-2003 à 16:23:15

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 12-10-2003 à 21:16:19    

Taiche a écrit :

Ba c'est secure. Y a plus simple mais moins sécurisé : dans ton php.ini tu fous la variable register_globals à on et tu pourras faire if(isset($session))...
 
(d'ailleurs, appeler une variable de formulaire $session est pas forcément de très bon aloi, si je peux me permettre [:ddr555])


 
mais si si ;)
 
ok je laisse tomber et je continue comme ca.
 
merci pour ta réponse :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed