IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

code if (isset) et !(isset()


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2014
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Novembre 2014
    Messages : 367
    Points : 9
    Points
    9
    Par défaut code if (isset) et !(isset()
    Bonjour,

    Quelqu'un peut-il m'expliquer ce code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['envoi']) AND !isset($_POST['retour'])) {
    Ca veut dire quoi exactement ? "Si on clique sur envoi et qu'en même temps on ne clique pas sur retour" ? Ou rien à voir ?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si envoi et retour sont des boutons de soumission dans un formulaire POST oui ca donne ça.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2014
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Novembre 2014
    Messages : 367
    Points : 9
    Points
    9
    Par défaut
    Mais même si ce sont des boutons, c'est impossible de cliquer en même temps sur deux boutons. Je ne comprends pas.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je n'ai pas dit que c'était possible, j'ai seulement dit que si c'était des boutons, ta lecture est bonne.
    Sans plus d'information on ne peut pas te dire grand chose.
    Il ne faut pas oublier l’éventualité que le code soit écrit sans logique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il ne faut pas faire de fausse interprétation.
    isset() se moque de savoir si ce sont des boutons ou pas !


    isset — Détermine si une variable est définie et est différente de NULL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['envoi']) AND !isset($_POST['retour'])) {
    LA seul chose que fait cette condition se traduit par :
    • vérifier que la variable $_POST['envoi'] est définie (et est différente de NULL)
    • vérifier que la variable $_POST['retour'] N'est PAS définie (ou est NULL)


    Mais je rejoins sabotage : sans voir le code du(des) formulaire(s), on ne peut rien dire de plus.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2014
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Novembre 2014
    Messages : 367
    Points : 9
    Points
    9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    if (isset($_POST['envoi']) AND !isset($_POST['retour'])) {
        switch ($_POST['envoi']) {
            case "Un" :
                echo '<h1>Page 1 </h1>';
                echo "Bonjour tout le monde<br>";
                break;
            case "Deux" :
                echo '<h1>Page 2 </h1>
    			  <img src="C:\wamp64\www\tests\papillon.jpg"> <br>';
                break;
            case "Trois" :
                echo '<h1>Page 3 </h1>
    	      <img src="C:\wamp64\www\tests\oiseaux.jpg"> <br>';
                break;
        }
        echo '<p><input type="submit" name="retour" value="Refaire"><br>';
    } else {
        echo
        '<h1>Test 3 boutons</h1>
    		<input type="submit" name="envoi" value="Un">	
    		<input type="submit" name="envoi" value="Deux">	
    		<input type="submit" name="envoi" value="Trois">	
    	';
    }

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ca fonctionnera mieux comme ça (avec les balises <form method="post"... >):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    var_dump($_POST); // TEST
     
    if ( isset($_POST['envoi']) ) {
        switch ($_POST['envoi']) {
            case "Un" :
                echo '<h1>Page 1 </h1>';
                echo "Bonjour tout le monde<br>";
                break;
            case "Deux" :
                echo '<h1>Page 2 </h1>
    			  <img src="C:\wamp64\www\tests\papillon.jpg"> <br>';
                break;
            case "Trois" :
                echo '<h1>Page 3 </h1>
    	      <img src="C:\wamp64\www\tests\oiseaux.jpg"> <br>';
                break;
        }
        echo 
    	'<form method="post" action="">
    		<p><input type="submit" name="retour" value="Refaire"><p>
    	</form>
    	';
    } else {
        echo
        '<h1>Test 3 boutons</h1>
    	<form method="post" action="">
    		<input type="submit" name="envoi" value="Un">	
    		<input type="submit" name="envoi" value="Deux">	
    		<input type="submit" name="envoi" value="Trois">	
    	</form>
    	';
    }
    ?>
    Dans ce cas de figure, les formulaires ne cohabitent jamais* (c'est l'un ou c'est l'autre qui est affiché).
    * Et même si c'était le cas, ils sont indépendants : on n'aura jamais en même temps $_POST['envoi'] et $_POST['retour'] !

    On peut se contenter de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( isset($_POST['envoi']) ) {
    ...
    } else {
    ...
    }

Discussions similaires

  1. [PHP 5.5] Code plus épuré simple : if avec Isset + une fonction
    Par aspkiddy dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2016, 20h27
  2. Réponses: 2
    Dernier message: 14/01/2016, 12h47
  3. Épurer le code if(isset )
    Par aspkiddy dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2015, 16h30
  4. if isset or isset
    Par hugodu28 dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2011, 10h50
  5. différence entre isset et !isset
    Par vanou dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2007, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo