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 :

Envoi de données d'un formulaire avec redirection


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    Par défaut Envoi de données d'un formulaire avec redirection
    Bonjour,

    j'ai une page html avec plusieurs formulaires. Chacun de ces formulaires possède un bouton submit et envoie des valeurs avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="post" action="lienNumeroUN?var1=12&var4=4.php">
    <form method="post" action="lienNumeroDEUXvar5=1&var78=6.php">
    <form method="post" action="lienNumeroTROISvar3=2&var8=4.php">
    Donc pour l'instant, je me redirige vers un autre page php pour faire le traitement de l'envoi des variables

    Je voudrais avoir dans la même page que la page des formulaires, tous les liens php qui sont appelés en fonction du bouton appuyé.

    Est-ce possible ?

    Merci pour votre aide
    neospirit

  2. #2
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Pour commencer, tes liens doivent plutôt avoir cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="lienNumeroUN.php?var1=12&var4=4">
    Ensuite, tu peux lancer le formulaire dans la même page en rajoutant une variable dans ton lien, par exemple $action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="lienNumeroUN.php?var1=12&var4=4&action=envoi1">
    Tu peux alors créer ton envoi dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($action=='envoi1')
    {
    ton code pour envoyer le 1er formulaire
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    J'essaye ça.

    Merci pour la réponse

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu devrais te servir de la value du boutton de soumission, elle est pas là pour décorer.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <!-- coté html -->
    <form action="ma_page.php" method="post">
      <input type="submit" name="action" value="action1" />
    </form>
    <form action="ma_page.php" method="post">
      <input type="submit" name="action" value="action2" />
    </form>
    <form action="ma_page.php" method="post">
      <input type="submit" name="action" value="action3" />
    </form>
    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
    // ma_page.php
     
    if (isset($_REQUEST['action'])) {
      switch (strtolower($_REQUEST['action'])) {
         case 'action1': /* ton traitement */; break;
         case 'action2': /* ton traitement */; break;
         case 'action3': /* ton traitement */; break;
         default: /* un message d'erreur pourquoi pas... */; break;
      }
    }
    else {
      // affiche un truc ou je sais pas quoi moi...
    }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Merci c'est exactement ce que je voulais !

    Par contre est-il possible de remplacer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="ma_page.php" method="post">

    par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="<?echo $_SERVER['PHP_SELF']?>" method="post">

    pour avoir tout dans la même page ?

  6. #6
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Oui, c'est tout à fait possible.
    En cas de difficulté, de toute façon, tu peux aussi écrire l'adresse de ta page, même si c'est la même.

    Préfère <?php au simple <?.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    C'est bon ! J'ai le résultat que j'attendais. Merci beaucoup

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je rappelle que l'attribut action de la balise form est optionnel, s'il n'est pas spécifié, c'est la page "en cours" qui est appelée.

    Préfère <?php au simple <?.
    La directive short_open_tag n'est en effet pas toujours activée mais c'est possible de la définir dans le .htaccess si besoin. Elle est très pratique pour écrire des vues car on peut réduire en .

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

Discussions similaires

  1. [MySQL] Envoi des données d'un formulaire avec une check box ?
    Par kenjiendo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/08/2011, 12h32
  2. Réponses: 26
    Dernier message: 08/08/2007, 13h33
  3. formulaire avec redirection
    Par furth dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2006, 17h02
  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