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 :

Plusieurs boutons dans un Formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut Plusieurs boutons dans un Formulaire
    Bonsoir,

    Voilà, je pensais avoir trouvé un bon moyen pour utiliser plusieurs boutons dans un formulaire. Mais j'ai l'impression que c'est impossible.

    Donc, en gros, voici l'idée :

    J'ai des cases à cocher, j'aimerais cliquer sur un bouton pour en cocher certaines... Je sais qu'en JavaScript c'est possible mais j'aurais aimer le faire en PHP. Genre au début du code, avec des conditions, si la page ce recharge les cases sont cochés. C'est réalisable mais avec la suite en plus ca pose des problèmes.

    Ensuite le bouton pour envoyer sur une autre page... J'ai trouvé comme solution alternative le fameux 'header' mais, mes $_POST ne passent pas.

    Voilà, déjà si vous pouvez me guider là dessus...

    Merci à vous.

  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
    Pourquoi tu ne veux pas utiliser Javascript ?

    Sinon ton bouton peut etre un submit de formulaire qui s'il est recu, provoque l'ecrire de "checked" pour les cases souhaitées.

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    En fait, voici un exemple de ce que j'ai fais pour cocher des cases :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                    while ($donnees = mysql_fetch_array($affichage))
                    {
                        $id = $donnees['ID'];
                        echo '<input type="checkbox" name="a['.$id.']" id="a'.$id.'" value="'.stripslashes($donnees['comptes']).'"';
                        echo (isset($_POST['nouveau_btn']) && $donnees['nouveau'] == 'OUI') ? 'checked="checked"' : '';
                        echo ($_SESSION['nouveau_btn']) ? 'checked="checked"' : '';
                        echo '/><label for="a'.$id.'">'.stripslashes($donnees['comptes']).'</label><br />';
                    }
    donc l'action du formulaire est cette même page.

    Ca c'est ok, mais si je veux aller sur une autre page avec un bouton Envoyer ? Tout en ayant mes variables POST, je fais comment ?

    Merci.

  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
    si je veux aller sur une autre page avec un bouton Envoyer ? Tout en ayant mes variables POST, je fais comment ?
    ba c'est le fonctionnement normal d'un formulaire que tu décris.

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Je vais essayer d'être plus clair.

    Voici la déclaration de mon formulaire (index.php est cette même page) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="odyssee_front" action="index.php" method="post">
    Donc si je clic sur ce bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><input type="submit" name="nouveau_btn" id="nouveau_btn" value="&nbsp;&nbsp;Nouvelle Embauche&nbsp;&nbsp;" /></p>
    Je vais cocher mes cases (voir code ci-dessus, dans les premiers posts).

    Maintenant, si je clic sur ce bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="envoi" id="envoi" value="&nbsp;&nbsp;Envoyez&nbsp;&nbsp;" />
    Il ne va rien ce passer... J'aimerais me rendre sur une nouvelle page.
    Si j'utilise en début de page une condition qui teste ce bouton, je pourrais mettre un Header mais dans ce cas je ne peut récupérer mes variables...

    Alors, que faire ?

    Tu vois ?

  6. #6
    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
    Ton bouton pour les cases peut etre dans un formulaire indépendant.

  7. #7
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ton bouton pour les cases peut etre dans un formulaire indépendant.
    Tu veux dire imbriquer un formulaire dans un autre ?
    Si c'est bien ca, c'est valide w3c ?

    EDIT :
    A moins que je fasse deux form, l'un a la suite de l'autre et en début de page je passe mes variables POST en SESSION ??? pour les récupérer par la suite...

  8. #8
    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
    Non pas de formulaire imbriqués mais bien deux formulaires :
    - le premier qui boucle sur la meme page et sert a cocher les cases
    - le deuxieme qui envoi sur ta page de traitement.

    Techniquement on peut faire une redirection 307 qui transmet les variables POST mais cela lève un avertissement sur les navigateurs, ce n'est pas très convivial.

  9. #9
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Non pas de formulaire imbriqués mais bien deux formulaires :
    - le premier qui boucle sur la meme page et sert a cocher les cases
    - le deuxieme qui envoi sur ta page de traitement.

    Techniquement on peut faire une redirection 307 qui transmet les variables POST mais cela lève un avertissement sur les navigateurs, ce n'est pas très convivial.
    Tu pourrais m'expliquer pour la redirection 307 ?

    Sinon, là j'ai bien deux form l'un après l'autre. Mais il faut bien transformer les POST en SESSION non ? Sinon je perds des infos...

Discussions similaires

  1. Plusieurs boutons dans un formulaire dans page JSP
    Par kariel dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/06/2014, 14h45
  2. Plusieurs boutons dans un formulaire HTML lié à une servlet
    Par khaled_prg dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/12/2013, 16h08
  3. Gestion de plusieurs boutons dans un formulaire
    Par guy_antoine_mav dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2008, 16h07
  4. Plusieurs boutons dans un seul formulaire
    Par rimeh dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2007, 13h34
  5. Plusieurs boutons dans un formulaire
    Par kcizth dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/01/2006, 14h42

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