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 :

mes if sont bien imbriqué ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut mes if sont bien imbriqué ?
    salut tout le monde ;
    voici mon code :
    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
    35
    36
    37
    38
    39
    40
    <html><head></head>
    <body>
             //le formulaire 1
           <form method="post" action="typeform.php">
       <input type="radio" name="tope" value="Q C M"/> Q C M <br>
                   <input type="radio" name="tope" value="Q C U"/> Q C U <br>
                   <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
           <input type="submit" value="ok" name="ok">
        </form>
    <?php
      $type = '';  
      
      if(isset($_POST['ok']) && isset($_POST['tope']))
    { $type = $_POST['tope'] ;
         if( $type == "Q ouvert" or $type == "Q C U" )
    { ?> <form method="post" action="typeform.php" >
          //le formulaire 2
         //un formulaire
         <input type="submit" name="creation1" value="valider" />
    	</form>
     <?php  } 
        if(isset($_POST['creation1']))
      {   echo 'vos données sont dans la base' ;
      }
       elseif($type == "Q C M" )
    {   le formulaire 3
        <form method="post" action="typeform.php" >
         //formulaire
         
       <input type="submit" name="creation2" value="valider" />
    	</form>
    <?php }	 
            if(isset($_POST['creation2']))
    	  { echo'vos données 2 sont dans la base' ;
             }
    }
    ?>
    </body>
    </html>
    le 1 formulaire s'affiche quand je choisis le type il y a des deux formulaire qui s'affiche le 2 ou bien le 3 selon le choix

    mais si je clique sur valider du 2eme formulaire ou 3eme formulaire il y a aucun msg qui s'affiche j'aurais le formulaire 1

    c'est a dire les boucle
    if(isset($_POST['creation1'])) et if(isset($_POST['creation2']))
    ne s'exécutent pas

    je ne vois pas ou le problème,peut etre que j'ai pas bien imbriqué les if ou j'ai pas bien placer les {

    merci de votre attention

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Pour te répondre, il faut savoir s'il sagit d'un schémat, ou du vrais PHP,
    j' aurais préféré un vrais PHP tel que tu le test, car la ça ne marches pas puisque les ouvertures ET fermetures des zones PHP
    Et donc entre les deux lez zones HTML sont nimporte quoi ...
    par exemple

    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
     
    <?php
       }
        if(isset($_POST['creation1']))
          {
          echo 'vos données sont dans la base' ;
          }
            elseif($type == "Q C M" )
               {
    //============= LA DU HTML ???? ==================
               le formulaire 3
               <form method="post" action="typeform.php" >
               //formulaire
          <input type="submit" name="creation2" value="valider" />
          </form>
    bref repostes un PHP tel qu'il est testé par toi

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    ah je suis vraiment désolé
    Code php : 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php //connexion a la base
    ?>
    <html>
    <head>
    </head>
    <body>  
            le formulaire 1
              <form method="post" action="typeform.php">
          <input type="radio" name="tope" value="Q C M"/> Q C M <br>
                   <input type="radio" name="tope" value="Q C U"/> Q C U <br>
                   <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
    <br><br> 
           <input type="submit" value="ok" name="ok">
        </form>
    <?php  $type = '';  if(isset($_POST['tope']))      { $type = $_POST['tope'] ; }
         if( $type == "Q ouvert" or $type == "Q C U" )
    {    ?>le formulaire 2
        <form method="post" action="typeform.php" >
          -----un formulaire en html-----
        <input type="submit" name="creation1" value="valider" />
    	</form>
     <?php  } 
        if(isset($_POST['creation1']))
        {    
                $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
    	echo "soumission de la requete $sqltyp<br>";
    	$reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
     
    	$resltyp = mysql_fetch_assoc($reqtyp);
    	if( $resltyp !== FALSE )
    	{$tp = $resltyp['id_typ'] ;  }
    	else { echo 'ce type néxiste pas ';  } 
           //suivie des autres requete sql 
     
        }
    elseif($type == "Q C M" )
    { ?>   le formulaire 3
          <form method="post" action="typeform.php" >
             ----------un formulaire en html-----------
           <input type="submit" name="creation2" value="valider" />
    	</form>
    <?php 	} 
            if(isset($_POST['creation2']))
    	  {      $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
    	echo "soumission de la requete $sqltyp<br>";
    	$reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
     
    	$resltyp = mysql_fetch_assoc($reqtyp);
    	if( $resltyp !== FALSE )
    	{$tp = $resltyp['id_typ'] ;  }
    	else { echo 'ce type néxiste pas ';  } 
           //suivie des autres requete sql 
       }
    ?>
    </body>
    </html>

    j'ai modifier mon code ,j'ai rencontrai un autre problème :

    les deux boucle if(isset($_POST['creation1'])) et if(isset($_POST['creation2']))
    sont excuté selon le choix mon choix si je choisis Q C M c'est la boucle if(isse($_POST['creation2'])) qui est exécuté mais voila le message d'erreur :

    soumission de la requete SELECT id_typ FROM type WHERE typ = ''
    ce type néxiste pas

    Notice: Undefined variable: sujet in C:\Program Files\EasyPHP 2.0b1\home\typeform.php on line 546


    comment faire pour que la variable $sujet sera définit ?

    merci d'avance

  4. #4
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    mais mon code,pourquoi n'est pas colorier ?

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    OK alors ça va aller

    on a ça remis en forme
    j'analyse et je vois que le formulaire 1 est toujours affiché !
    donc je le bloques quand $type existe ou que
    if(isset($_POST['creation1']))


    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    <?php
    //connexion a la base
    ?>
    <html>
    <head>
    </head>
    <body>  
     
    <?php
    $type = '';
    if(isset($_POST['tope']))   { $type = $_POST['tope'] ; }
    $creation1 =""; 
    if(isset($_POST['creation1'])) { $creation1 = $_POST['creation1'] ; }
     
     
    if ($type=="" && $creation1 =="")
    {
    ?>
     
            <B>le formulaire 1</B>
              <form method="post" action="typeform.php">
          <input type="radio" name="tope" value="Q C M"/> Q C M <br>
          <input type="radio" name="tope" value="Q C U"/> Q C U <br>
          <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
    <br /><br /> 
           <input type="submit" value="ok" name="ok">
        </form>
    <?php
      }
    if( $type == "Q ouvert" or $type == "Q C U" )
      {    ?>
      <B>le formulaire 2</B>
      <form method="post" action="typeform.php" >
      <!--    -----un formulaire en html----- -->
      <input type="submit" name="creation1" value="valider" />
      </form>
    <?php
      }
    if($creation1 !="")
        {    
         $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
    	echo "soumission de la requete $sqltyp<br>";
         $reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
         $resltyp = mysql_fetch_assoc($reqtyp);
         if( $resltyp !== FALSE )	{$tp = $resltyp['id_typ'] ;  }
    	else { echo 'ce type néxiste pas ';  } 
           //suivie des autres requete sql 
     
        }
      elseif($type == "Q C M" )
        { ?>
           <B>le formulaire 3</B>
          <form method="post" action="typeform.php" >
           <!--  ----------un formulaire en html----------- -->
           <input type="submit" name="creation2" value="valider" />
    	</form>
    <?php
        }
      if(isset($_POST['creation2']))
    	  {
               $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
                 echo "soumission de la requete $sqltyp<br>";
               $reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
               $resltyp = mysql_fetch_assoc($reqtyp);
               if( $resltyp !== FALSE )	{$tp = $resltyp['id_typ'] ;  }
                       else { echo 'ce type néxiste pas ';  } 
                //suivie des autres requete sql 
               }
    ?>
    </body>
    </html>

  6. #6
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    merci bcp;

    vous avez mis :
    creation1='', if(isset($_POST['creation1'])) ....

    juste pour creation1

    et pour creation2,je rajoute la même chose ?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    j'ai recopiée votre code
    voila ce que j'ai fait :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <?php
    //connexion a la BD
    $db = 'projet';
    $connexion = mysql_connect("localhost", "root") or die("connexion impossible");
     echo "connexion réussie<br>"; 
    mysql_select_db($db,$connexion) or die("selection de la base de données impossible");
    echo "choix de la base réussie";
    ?>
    <html>
    <head>
    </head>
    <body>  
     
    <?php
    $type = '';
    if(isset($_POST['tope']))   { $type = $_POST['tope'] ; }
    $creation1 =""; 
    if(isset($_POST['creation1'])) { $creation1 = $_POST['creation1'] ; }
     
     
    if ($type=="" && $creation1 =="")
    {    ?>
     
            <B>le formulaire 1</B>
              <form method="post" action="foxlerenard.php">
          <input type="radio" name="tope" value="Q C M"/> Q C M <br>
          <input type="radio" name="tope" value="Q C U"/> Q C U <br>
          <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
    <br /><br /> 
           <input type="submit" value="ok" name="ok">
        </form>
    <?php
               }
    if( $type == "Q ouvert" or $type == "Q C U" )
      {    ?>
           <form method="post" action="foxlerenard.php" >
       <?php echo ' <font size=\"4\">Listez vos Questions/Réponses et en proposant une note :</font>' ?>
    <br><br>
      Question 1 : <input type="text" name="question1" size="60" maxlengh="70"/>
      Réponse 1 : <input type="text" name="reponse1" size="30" maxlengh="10"/>
      Note 1 :  <input type="text" name="note1"/>
    <br><br>
       <input type="submit" name="creation1" value="valider" />
    	</form>
     <?php  
      }
    if($creation1 !="")
        {    
         $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
    	echo "soumission de la requete $sqltyp<br>";
         $reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
         $resltyp = mysql_fetch_assoc($reqtyp);
         if( $resltyp !== FALSE )	{$tp = $resltyp['id_typ'] ;  }
    	else { echo 'ce type néxiste pas ';  } 
         }
      elseif($type == "Q C M" )
        { ?> <form method="post" action="foxlerenard.php" >
             <u>la 1ere question : </u><br><br>
    		 Question 1 : <input type="text" name="question1" size="60" maxlengh="70"/><br><br>
             Réponse 1 :<br> <input type="text" name="reponse1" size="30" maxlengh="10"/><br><br>
                         <input type="text" name="reponse11" size="30" maxlengh="10"/><br><br>
    					 <input type="text" name="reponse111" size="30" maxlengh="10" /><br><br>
             Note 1 : <input type="text" name="note1" / ><br><br>
    		          <input type="text" name="note11" /><br><br>
                      <input type="text" name="note111"/><br><br>			  
           <input type="submit" name="creation2" value="valider" />
    	</form>
    <?php 	} 
            if(isset($_POST['creation2']))
    	  {   $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
                 echo "soumission de la requete $sqltyp<br>";
               $reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
               $resltyp = mysql_fetch_assoc($reqtyp);
               if( $resltyp !== FALSE )	{$tp = $resltyp['id_typ'] ;  }
                       else { echo 'ce type néxiste pas ';  } 
                //suivie des autres requete sql 
               }
    ?>
    </body>
    </html>
    et j'ai eu la même erreur
    soumission de la requete SELECT id_typ FROM type WHERE typ = ''
    ce type néxiste pas


    la variable $type n'est pas récupérer

  8. #8
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    j'ai encore modifier mon code
    j'ai fait 3 page
    -Enseignant.php : il choisit un type ensuite il sera rédigé dans l'une des pages suivantes :
    -type1.php : pour le formulaire des Q ouvert ou QCU
    -type2.php : pour le formulaire des QCM

    pour les page type1 et type2 j'ai pas de problème mais pour la redirection sa ne fonctionne pas ,voila ce que j'ai fait :
    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
     
     <form method="post" action="Enseignant.php">
                    <input type="radio" name="tope" value="Q C M"/> Q C M <br>
                   <input type="radio" name="tope" value="Q C U"/> Q C U <br>
                   <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
    <br><br> 
           <input type="submit" value="ok" name="ok">
        </form>
    	<?php     if(isset($_POST['tope']))
    	        {    if( $_POST['tope'] == " Q C U " )
    			     {     header('Location: type1.php') ;
                       exit( ) ;
                     } 
    				 elseif ( $_POST['tope'] == " Q C M " ) 
    			  {
                      header('Location: type2.php') ;
                     exit( ) ;
                  } 
    			  elseif( $_POST['tope'] == " Q ouvert " )
    			   {    header( ' Location: type1.php' )
    			        exit( ) ;
    				}
                   else{     echo 'Erreur, type indéterminée !' ;
                    } 
                }
    si je choisis Q C M je suis dans la page type2.php

    mais si je choisis Q ouvert ou QCU il y aucune chose qui passe je reste dans la page enseignant.php

    quelqu'un pourrez m'aider ?

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Salut,
    Tu es certain que c' est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    if( $_POST['tope'] == " Q C U " ............
    Moi je croyais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    if( $_POST['tope'] == "Q C U"  ......

  10. #10
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    Par défaut
    aaah ouiiiiiiiiiiiiiii
    vous avez raison,maintenant sa marche.

    merci merci merci beaucoup

    c'est vraiment gentil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mes messages sont-ils bien envoyés?!
    Par bouzaidi dans le forum C++
    Réponses: 0
    Dernier message: 23/08/2007, 10h24
  2. Vérifier que mes connexions SQL sont bien fermées
    Par Guilhem_mdg dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/02/2007, 16h26
  3. Mes dates sont inversées dans word
    Par Tibao27 dans le forum Access
    Réponses: 5
    Dernier message: 15/02/2006, 09h04
  4. Réponses: 5
    Dernier message: 08/12/2005, 22h40
  5. Pourquoi mes TPanels sont transparents?!!!!!
    Par pointer dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/11/2005, 12h09

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