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 :

Passage de paramètres entre php


Sujet :

Langage PHP

  1. #1
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut Passage de paramètres entre php
    Bonjour,

    J'ai un formulaire dans un php qui en appelle un autre, et je veux passer un parametre de l'un a l'autre.

    Dans l'appelant j'ai d'abord déclaré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $variable = "variable";
    GLOBAL $variable;
    .....
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_openBrWindow(theURL,winName,features) { //v2.0
      window.open(theURL,winName,features);
    }
    //-->
    </script>
    Dans mon formulaire appelant je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form name="Formulaire" method="post" >
                    <input align "center" class="Bouton" type="submit" value="Formulaire" onClick="MM_openBrWindow('../monphp.php?variable=$variable','','menubar=yes,scrollbars=yes,resizable=yes,width=300,height=160')" color "#C2AD5F" />
                     </form>
    Dans le PHP appellé j"ai:
    Mais $variable reste vide!

    D'ou vient le problème.

    Merci

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    $variable n'est interprété que s'il se trouve entre balise <?php et ?>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form name="Formulaire" method="post" >
      <input align "center" class="Bouton" type="submit" value="Formulaire" onClick="MM_openBrWindow('../monphp.php?variable=<?php echo $variable;?>','','menubar=yes,scrollbars=yes,resizable=yes,width=300,height=160')" color "#C2AD5F" />
    </form>

  3. #3
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Rakken,
    Merci de ta réponse, mais malheureusement malgré ca, ça marche pas.
    Je précise que ma variable est bien renseigné (un echo juste avant me le prouve)
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour

    Pour faire passer des variables d'une page à une autre il y a les variables de session :

    http://de3.php.net/manual/fr/book.session.php

    ++

  5. #5
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Je te joins l'ensemble du formulaire pour que tu vois!

    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
     
                        <FORM class="Cadre" Method="POST" enctype="multipart/form-data" >
     
    					<tr>
                        <div align="center">
                            <td class="Tableau" width="37%">Titre?</td>
                       </div>
     
                       <BR>
                       <td><div align="center">
    					<INPUT type=text size=2 name=variable><BR>
                       </div></td>
                       </tr>
     
                       <BR>
     
    				<form name="Formulaire" method="post" >
                    <input align "center" class="Bouton" type="submit" value="Formulaire" onClick="MM_openBrWindow('monphp.php?variable=<?php echo $variable;?>','','menubar=yes,scrollbars=yes,resizable=yes,width=300,height=160')" color "#C2AD5F" />	                 </form>
     
     
    					<INPUT type=hidden name=afficher value=ok>
     
    					</FORM>

  6. #6
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Hummm...
    Déjà, il me semble que tu ouvres deux formulaires et que tu n'en fermes qu'un seul. Si tu fait ton input avec le second, les variables précisée dans le premier risquent de ne pas fonctionner.
    Ensuite, tu as l'air d'utiliser directement $variable dans ton second formulaire, mais $variable a ce moment n'a pas la valeur que tu as spécifié dans ton premier champ, en as tu conscience ?

    Ensuite, quand tu passes une variables depuis un formulaire, la page qui recoit le formulaire peut lire la variable grace à $_POST.
    En l'occurence, pour lire ta variable, ca sera un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['variable'];

  7. #7
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Je te remercie pour ta réponse!
    Effectivement le deuxieme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="Formulaire" method="post" >
    était inutile?
    J'ai mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $_POST['variable'];
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_POST['variable'];
    dans le programme appellé.
    Ca marche pas nom plus!

  8. #8
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Tu as raison Rakken!
    Quand je clique sur le bouton du deuxième input, la valeur de ma variable 'variable' de mon premier input ne doit pas être prise en compte.
    Comment faire pour que quand je clique sur le bouton la lecture du premier input se fasse aussi

  9. #9
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Tu as un problème d'enchainement.
    Etape1 :
    Tu défini un formulaire avec un champ nommé "variable" (pas terrible comme nom, ca prete a confusion).
    Tu remplis de champ avec comme valeur "foobar"/
    A ce stade, $_POST['variable'] est vide.

    Etape 2 :
    Tu soumets ton formulaire, cela te redirige vers une nouvelle page (ou la même, l'important est qu'il y a eu rechargement complet de page). Dans cette nouvelle page, $_POST['variable'] est défini avec la valeur que tu as rentré pendant l'étape 1. Donc $_POST['variable'] vaut "foobar".

    Actuellement, ta confusion vient du fait que sur ton input, tu ouvres visiblement une popup via un javascript (avec ton onClick="MM_openBrWindow..."). Mais ce faisant, tu ne soumets pas le formulaire, tu ouvres juste une nouvelle page (ou $_POST['variable'] n'est donc pas défini). De même comme cette ouverture se fait alors que tu en est encore à l'étape 1, ton passage de parametre dans l'url ne peut pas fonctionner.

    Le plus simple (et le plus utiliser) est a mon sens de définir dans ta balise form la cible de ta soumission, comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="monformulaire" method="post" action="monphp.php">
    Et pour soumettre, le fait de cliquer sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="Soumettre" />
    t'enverra directement sur la page monphp.php, et sur cette page $_POST['variable'] sera défini.

  10. #10
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Merci Rakken c'est très clair.
    Tout d'abord j'ai précisé "variable" mais ce n'est pas le nom de ma variable, pas plus que "monphp" est le nom du programme appelé mais c'était pour synthétiser.
    J'avais essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="monformulaire" method="post" action="monphp.php">
    mais le probleme c'est que ça ouvre une page complète, alors que moi je veux qu'a partir d'une page, l'utilisateur entre des infos avec en visu cette même page, donc une fenetre popup est l'idéale

  11. #11
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    A ce compte là, dans la mesure ou le seul endroit où tu possèdes le contenu de ce que tu as rentré dans ton champ texte "variable", c'est le champ texte lui même, il te faut récuperer ce contenu sans ressoumission, donc via du javascript.
    Par contre, pour connaitre la meilleure maniere de faire ca, tu devrais poser la question dans le forum javascript, tu auras des réponses plus pertinentes que les miennes.

  12. #12
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Merci pour tout!
    Bonne fin de journée.

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

Discussions similaires

  1. passage de paramètres entre 2 fichiers PHP
    Par jerem_orga dans le forum jQuery
    Réponses: 12
    Dernier message: 03/02/2012, 15h08
  2. Passage de paramètres entre flex et php
    Par piopium dans le forum Flex
    Réponses: 2
    Dernier message: 29/07/2008, 19h37
  3. Passage de paramètres entre pages php
    Par Doudy dans le forum Langage
    Réponses: 2
    Dernier message: 22/08/2007, 00h20
  4. [jsp][servlet]passage de paramètre entre deux frames
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 29/06/2004, 12h14
  5. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 14h58

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