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 :

formulaire : envoie de données séparés


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut formulaire : envoie de données séparés
    bonjour,

    j'ai créé un formulaire avec des textbox, checkbox et un bouton valider => jusque la tout va bien.

    Maintenant, je voudrais créer un deuxième bouton envoyé mais qui n'envoie qu'une parti des données et qui en plus envoie la valeur d'une variable en première position (cette valeur permettra à mon serveur d'identifier sur quel bouton j'ai appuyé).

    Est-ce possible ?
    => dans le pire des cas, il faudrait au moins que je puisse envoyé la variable pour identifier le bouton (sans les données du formulaire)

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Pour ajouter un second bouton dans ton formulaire, tu peux faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" name="button" value="Valider" onclick="window.location.href='TaPage.php?variable=valeur'" />

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    Salut!
    Pour ton histoire d'envoyer qu'une partie des données, tu ne pourrais le faire qu'en créant un deuxième formulaire.

    Sinon, pour la variable qui permet de savoir sur quel bouton submit tu as appuyé, tu peux mettre des "name" à tes boutons submit, seule la valeur du bouton cliqué sera envoyé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="..." method="post">
    <!-- bla bla bla -->
    <input name="submit1" type="submit" value="Envoyer1"/>
    <input name="submit2" type="submit" value="Envoyer2"/>
    Et dans ton language serveur (exemple avec php):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if($_POST['submit1']){
    // Le 1er bouton
    }
    else if($_POST['submit2']){
    // Le 2eme bouton
    }
    else
    // euh...pas prévu
    ?>
    A la limite, avec ça, tu peux choisir de ne traiter qu'une partie des données envoyées
    Voilou, ça, ça devrait pouvoir marcher :p

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Tu peux également utiliser une petite fonction Javascript qui te permet de récupérer plusieurs variables contenues dans ton formulaire :
    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script language="javascript" type="text/javascript">
    function envoyer() {
    var test = document.getElementById('test').value ;
    var test1 = document.getElementById('test1').value ;
     
    window.location.href = 'TaPage.php?test='+test+'&amp;test1='+test1 ;
    }
    </script>
    Le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form id="form" name="form" method="get" action="">
      <input type="submit" name="button" id="button" value="Envoyer" />
      <input type="text" name="test" id="test" />
      <input type="text" name="test1" id="test1" />
      <input type="text" name="test2" id="test2" />
     
      <input type="button" name="button" value="Valider" onclick="envoyer()" />
    </form>
    J'ai trois champs et je ne récupère que les deux premiers par exemple.
    Tu récupères les variables avec $_GET puisqu'elles ont passées dans une URL.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci pour vos réponses.

    Seul la solution de NikoGJ peut marcher car je fais des traitements coté serveur via la methode POST => je vais essayer de l'implémenter.

    J'ai essayé des créer un formulaire dans un autre formulaire mais ça n'a pas l'aire de fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <form action="toto.cgi" method="post">
    ...
    ...
    ...
        <form action="toto.cgi" method="post">
        ...
        ...
        ...
        ...
        <p><input type="submit" value="envoie partiel"/></p>
        </form>
     
    <p><input type="submit" value="envoie global"/></p>
    </form>
    => a chaque fois, ça m'envoie la totalité des infos...

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Enfin rien ne t'empêche de faire tes requêtes serveur avec $_GET il te faut juste vérifier si la variable transmise est $_GET['variable'] ou $_POST['variable'] avec un petit isset() ...

  7. #7
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Ou est le problème dans le fait d'avoir toutes les infos ?
    Rien ne t'empêche de n'en traiter que la partie de ton choix.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    c'est parce que mon serveur est un petit µC et donc la gestion des requêtes est beaucoup plus compliqué à faire (c'est moi qui doit faire le programme qui gère la chaine POST reçue ) qu'avec un serveur PHP.

    Mais c'est bon, maintenant ça fonctionne => je récupère donc toutes les valeurs, et je fais mon traitement en fonction du nom du bouton

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

Discussions similaires

  1. Réponses: 26
    Dernier message: 08/08/2007, 13h33
  2. [MySQL] Pb envoi de formulaire à base de données
    Par Elendill dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/04/2007, 12h17
  3. Réponses: 1
    Dernier message: 26/11/2006, 10h57
  4. [AJAX] AJAX et envoie de données d'un formulaire
    Par gunderam dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2006, 18h17
  5. [SQL] Pb Sql lors de l envoie des données via un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h18

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