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 :

2 form action identique s'exécutant dans la meme page [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Par défaut 2 form action identique s'exécutant dans la meme page
    Bonjour,

    Ce que je veux faire (je ne sais pas si j'ai la bonne méthode) c'est de mettre 2 form dans la même page (php) et qu'il s'exécute dans la même page php.

    Exemple:

    J'ai un form en bouton radio sous forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (!isset($_POST['r15'])) {
    					//else { echo 'je suis dans le else'; echo $_POST['radio15'];}
                        echo '<p>';
    					echo 'dans post r15 ';
    					echo '<form action="rapportw.php" name="rapportw1" method="post" >';
    					echo 'Voulez-vous les données aux:<br />';
    					echo '<input type="radio" name="r15" value="r15" onclick="rapportw1.submit()">15 mins';
    					echo '<input type="radio" name="r1" value="r1" onclick="rapportw1.submit()">par heure<br /><br />';
    					echo '<hr>';
    					echo '</p>';
    					echo '</form>';
    					                               }
                        else { ......
    ce qui donne quand on ouvre la page (rapportw.php)
    0 15 mins 0 par heure (le 0 représente le bouton radio)

    Il affiche correctement le tout et si je clic sur 15 mins il entre dans le else et affiche une liste déroulante de serveurs, une autre liste déroulante de dates ainsi que des cases à cocher pour le cpu, mémoire etc.. et en bas de tout ça j'ai un bouton OK pour soumettre selon ce que l'usager à choisi. Voir le code ci-bas mais ici tout est ok.

    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
     
    ....... ici connexion à la base pour extraire les informations........
     echo '<form name="rapportw" action="rapportw.php" method="POST" onSubmit="return rapp(this)">';
    					  echo '<p>';
    					  echo 'Serveur: ';
    					  echo '<select name="serv" style="font-size: 9px;">';
    					  for($i=0;$i<sizeof($ChServ);$i++)
                          {
    					   if (!$_POST['serv']) {
                            echo '<option value="'.$ChServ[$i].'">'.$ChServ[$i].'</option>';
    						                    }
    					   else {
    					    echo '<option value="'.$ChServ[$i].'"';
    					    if ($_POST['serv'] == $ChServ[$i]) { echo " selected "; }
    					     echo '>'.$ChServ[$i].'</option>';
    					        }
    					  } 
    					  echo '</select>';
    					  echo '</p><p>';
    					  echo 'Date: ';
    					  echo '<select name="datserv" style="font-size: 9px;">';
    					  for($i=0;$i<sizeof($ChDate);$i++) // tant que $i est inferieur au nombre d'éléments du tableau...
                          {	
    					   if (!$_POST['datserv']) {
                            echo '<option value="'.$ChDate[$i].'">'.$ChDate[$i].'</option>';
    						                       }
                           else {
    					    echo '<option value="'.$ChDate[$i].'"';
    					    if ($_POST['datserv'] == $ChDate[$i]) { echo " selected "; }
    					     echo '>'.$ChDate[$i].'</option>';
    					        }
    					  }
    					 echo '</select>';
    					 echo '<br /><br />';
    					 echo '<hr>';
    					 error_reporting(E_ALL ^ E_NOTICE);
    					 if (!$_POST['indicateur']) {
    					   for($j=0;$j<sizeof($liste);$j++) {
    					    if ($liste[$j] == "Cpu" OR $liste[$j] == "Mémoire") {
    						 echo '<input type="checkbox"  checked="checked" name="indicateur[]" value="'.$liste[$j].'">'.$liste[$j].'<br />';
    						                                                    }
                            else { echo '<input type="checkbox" name="indicateur[]" value="'.$liste[$j].'">'.$liste[$j].'<br />'; }
    					                                    }
    												}
    					 else {
    					 for($j=0;$j<sizeof($liste);$j++) {
                          echo '<input type="checkbox" name="indicateur[]"';
                          for ($k=0;$k<count($_POST["indicateur"]);$k++)
                          if($liste[$j]==$_POST["indicateur"][$k]) { echo " CHECKED "; break; } 
                         echo 'value="'.$liste[$j].'"';
                         echo '>'; echo $liste[$j]; echo '<br />';
                                                          }
    						  }
    					 echo '</p><p style="font-size: 9px; text-align: center;"><br />';
    					 echo '<input type="submit" name="send" value="ok">';
                         echo '</p>';
    					 echo '</form>';
                                    }
    Quand l'usager à fini de faire ses choix et clic sur OK, la page s'exécute sur elle-même et affiche le contenu du rapport, c'est quand je clic sur OK que tout se gâte, je perds la valeur de mes boutons radio, il réaffiche le tout comme si la page venait de s'ouvrir.

    Comment faire pour conserver la valeur de mon bouton radio même si l'usager clic plusieurs fois sur le OK. La raison que l'usager peut cliquer plusieurs fois sur le bouton OK c'est qu'il peut choisir le serveur et la date qu'il veut afin de faire afficher le graphique. (notez que le code du graphique n'est pas inclus)

    Merci de votre aide.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Par défaut
    Pas sûr d'avoir tout compris, mais pourquoi faire deux formulaires ?
    Qu'est ce qui t'empêche de n'en faire qu'un seul ?

    Avec un seul formulaire, tu peux récupérer toutes les valeurs, y compris ceux des deux boutons radios.

    Ensuite, lorsque tu affiches ta page, tu n'as qu'à vérifier l'existance de la valeur en Post pour les deux input radio. Si elle existe, tu n'as qu'à afficher 'checked="checked"', celui-ci sera donc coché, et ton utilisateur n'aura pas perdu la valeur.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Par défaut J'ai trouvé...
    Bonjour, le form de mes boutons radio était dans le IF du premier form, je l'ai mis complètement en dehors de la boucle et tout fonctionne bien.

    Je sais que j'aurais pu le mettre dans un autre page et récupérer la valeur, c'est pour un intranet local et il y a des consignes à suivre... bla bla bla.. des fois on ne peu pas toujours faire ce que l'on veut...

    Merci à tout le monde....

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

Discussions similaires

  1. Plusieurs FORMS dans la meme page
    Par RR9151 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/08/2013, 15h01
  2. Utiliser multi form dans la meme page HTML
    Par Triste dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/05/2010, 08h53
  3. Plusieurs h:form dans la meme page
    Par amariasoft dans le forum JSF
    Réponses: 8
    Dernier message: 19/05/2009, 12h56
  4. Multiple <html:form> dans la meme page
    Par Leopardi dans le forum Struts 1
    Réponses: 17
    Dernier message: 21/09/2007, 15h03
  5. [STRUTS] Plusieurs actions dans une meme page
    Par DarkWark dans le forum Struts 1
    Réponses: 22
    Dernier message: 10/01/2006, 16h18

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