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 des variables du formulaire vers deux pages


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 63
    Points : 58
    Points
    58
    Par défaut Envoi des variables du formulaire vers deux pages
    Bonjour,

    j'ai un formulaire dans une page "statistiques.php" qui envoie les donné vers cette même page:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="statis" action="statistiques.php" method="post">

    je veux récupérer les variables contenants les données du formulaires depuis une autre page aussi, exp: "graph.php".

    des idées?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Si j'ai bien compris tu veux accéder aux variables qui ont été envoyées dans le formulaire via ta page "graph.php" sans pour autant les stocker dans la base de données.

    Il s'agit donc de les stocker pour une durée assez courte, je te conseille donc d'utiliser les sessions et de les créer dans ta page qui intercepte le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // statistiques.php
     
    session_start(); // indispensable à ne pas oublier
     
    $_SESSION['attribut_form1'] = @$_POST['attribut_form1'];
    $_SESSION['attribut_form2'] = @$_POST['attribut_form2'];
    ...

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    bonjour,
    Je pense qu'elle veut que lors de la soumission du form, les données soit envoyées vers deux pages simultanément.
    A ma connaissance c'est impossible, il faut qu'une de tes deux page.php appelle l'autre.

    Peux tu nous pourquoi tu as ce besoin?

  4. #4
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Ca doit être faisable via un petit script JS qui va dispatcher les paramètres a envoyer aux 2 pages et lancer 2 requêtes POST en ajax.

    Même question que gototog, c'est quoi le besoin précisément ?

    EDIT : Un petit exemple fait en vitesse :

    Code javascript : 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
     
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript">
        var form1 = ["champs1", "champs3", "champs4", "champs7", "champs9"];
        var form2 = ["champs1", "champs2", "champs5", "champs6", "champs8"];
     
        function sendForms()
        {
            var datasForm1 = '';
            var datasForm2 = '';
     
            // Preparation datas form1
            for (var key in form1) {
                if (datasForm1 != '') {
                    datasForm1 = datasForm1 + '&';
                }
                datasForm1 = datasForm1 + form1[key] + '=' + document.getElementById(form1[key]).value;
            }
     
            // Preparation datas form2
            for (var key in form2) {
                if (datasForm2 != '') {
                    datasForm2 = datasForm2 + '&';
                }
                datasForm2 = datasForm2 + form2[key] + '=' + document.getElementById(form2[key]).value;
            }
     
            // Envoi premier formulaire
            $.ajax({
    			type: "POST",
    			url: "form1.php",
                            data: datasForm1,
    			timeout: 20000,
    			error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert('Erreur form1');
    			},	
    			success: function(result){
                    alert('OK form1');
    			}
    		});
     
            // Envoi deuxieme formulaire
            $.ajax({
    			type: "POST",
    			url: "form2.php",
                            data: datasForm2,
    			timeout: 20000,
    			error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert('Erreur form2');
    			},	
    			success: function(result){
                    alert('OK form2');
    			}
    		});
        }
    </script>
     
    <form method="post" action="javascript:sendForms()">
        <input type="text" name="champs1" id="champs1" /><br/>
        <input type="text" name="champs2" id="champs2" /><br/>
        <input type="text" name="champs3" id="champs3" /><br/>
        <input type="text" name="champs4" id="champs4" /><br/>
        <input type="text" name="champs5" id="champs5" /><br/>
        <input type="text" name="champs6" id="champs6" /><br/>
        <input type="text" name="champs7" id="champs7" /><br/>
        <input type="text" name="champs8" id="champs8" /><br/>
        <input type="text" name="champs9" id="champs9" /><br/>
        <input type="submit" value="Envoyer">
    </form>


    Les boutons et existent, servez-vous en

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    c'est faisable mais c'est juste super crade donc je suppose que c'est une mauvaise direction choisi en terme de logique

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui en effet ce n'est pas très propre. Pourquoi veut-tu faire cela ?

  7. #7
    Membre du Club
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 63
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    j'ai testé la proposition de walane et ça marche super bien.

    donc, dans la page "page1.php" qui contient le formulaire :
    j'ai fait (action="page1.php") pour d'abord utiliser ces variables dans cette page, puis j'ai créer dans variables session auxquelles j'affecte ces même variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $_SESSION['dateD'] = @$_POST['dateD'];
    $_SESSION['dateF'] = @$_POST['dateF'];
    $_SESSION['status'] = @$_POST['status'];
    Dans la page "page2.php", je demarre la session avec "session_start();" puis je récupère les valeurs sessions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    session_start();
     
    $date_debut=$_SESSION['dateD'];
    $date_fin=$_SESSION['dateF'];
    $status=$_SESSION['status'];
    En gros,c'est le principe de gestion des variable de session, que j'ai du oublié.

    pour la solution javascript, je l'ai pas encore testé.

    Merci beaucoup pour vos idées

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

Discussions similaires

  1. Envoi formulaire vers deux pages
    Par midosd dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2009, 12h01
  2. Envoi de variables depuis flex vers une page PHP
    Par georges_jung dans le forum Flex
    Réponses: 3
    Dernier message: 10/03/2009, 14h45
  3. Envois données formulaires vers deux pages php
    Par noxia dans le forum Langage
    Réponses: 3
    Dernier message: 24/11/2008, 11h59
  4. Réponses: 2
    Dernier message: 21/03/2007, 10h02
  5. Rediriger des données d'un formulaire vers deux pages différentes
    Par griese dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/12/2006, 11h30

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