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 :

envoyer et recuperer GET et POST en meme temps


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut envoyer et recuperer GET et POST en meme temps
    Bonjour,

    je voudrais récupérer plusieurs variables avec GET et POST.

    J'ai fait cela mais ca ne fonctionne pas!

    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
    <form id="test" action="test.php" method="post">
    <input type="hidden" name="a_recup" value="variable_ici"/>
    </form>
    <a href='test.php?ville=paris' onclick='document.getElementById("test").submit()'>Ton lien</a>
    <a href='test.php?ville=marseilles' onclick='document.getElementById("test").submit()'>Ton lien1</a>
    <?php
     
    $variable=$_POST['a_recup'];
     
    echo $variable;
     
    $ville=$_GET['ville'];
    echo $ville;
     
    ?>
    Cela est il possible?
    Merci

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 391
    Points
    9 391
    Par défaut
    Cela est possible mais dans ton cas je ne vois pas l'intérêt de passer la ville via une variable GET.
    On pourrait plus facilement s'en sortir avec des boutons :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="test" action="test.php" method="post">
    <input type="hidden" name="a_recup" value="variable_ici"/>
    <input type="submit" name="ville" value="paris" />
    <input type="submit" name="ville" value="marseille" />
    </form>

    Une autre solution en gardant ton architecture serait de placer la ville en dur dans l'action du form, et donc d'avoir un form par ville.

    Et pour finir tu peux aussi via javascript modifier la valeur de l'attribut action avant de poster le formulaire et donc incorporer la variable ville dans l'url.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    Merci de ta reponse, en fait il s'agit d'un menu qui va afficher mes villes les unes apres les autres. Ces villes sont generer de la facon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $sql = "SELECT DISTINCT villes FROM menuvillle WHERE id IN (".$villesselectionnees.") ";
    $requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
     
    while( $result = mysql_fetch_array( $requete) )
    {  
     
     
    echo '<tr>
    <td width="40">
    </td>
    <td>
     
    <a href="organisation_voyage.php?catville='.stripslashes($result["villes"]).'" onclick="document.getElementById("form_reservations").submit()">'.stripslashes($result["villes"]).'</a>
    donc je ne peux pas connaitre la selection que l'utilisateur va choisir ni les mettre dans un "input text" car je veux recuperer uniquement la ville selectionnees par l'utilisateur.

    Merci

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 391
    Points
    9 391
    Par défaut
    Donc si je comprends bien c'est un menu pour sélectionner une ville sans plus ?
    Pourquoi passer par un formulaire ? Un lien suffirait amplement !
    Quelle est l'information que tu passes dans $_POST['a_recup'] ?
    Car à mon avis tu es en train de développer une usine à gaz...

  5. #5
    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 : 37
    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
    Si tu as besoin d'un formulaire uniquement pour faire transiter des valeurs entre les pages, utilise plutôt $_SESSION, sinon tu t'expose à des menaces de sécurité.

    Si ce n'est pas le cas, je rejoins ce que disait transgohan au sujet des liens.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Je vous ai mis tout le code qui concerne cette partie pour vous montrer ce que je veux faire.

    Je veux juste conserver les informations inscrites par l'utilisateur dans textarea si celui-ci change de ville.

    Je suis ok pour utiliser $_SESSION mais comment l'interer dans ce code?

    Merci

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <form action="organisation_voyage.php" name="test" method="post" id="test">
    <?php
    echo '<table width="305" border="0" cellspacing="2" cellpadding="0" bgcolor="#2274C8">';
    $sql1 = "SELECT * FROM menu  WHERE id IN (".$villedupanier.")";
    $requete1 = mysql_query( $sql1, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
     
    while( $result1 = mysql_fetch_array( $requete1) )
    {  
     
     
    echo '<tr>
    <td width="40"><textarea COLS=35 ROWS=1  id=mesinfo'.$result["id"].' name=mesinfo'.$result["id"].'>  </textarea>
    </td>
    <td>
    
    
    </td>
      </tr>';
     
     
    }
    ?>
     
    <?php
    $sql = "SELECT DISTINCT ville FROM menu  WHERE id IN (".$villedupanier.") ";
    $requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
     
    while( $result = mysql_fetch_array( $requete) )
    {  
     
     
    echo '<tr>
    <td width="40">
    </td>
    <td>
    
    <a href="#" onclick="document.getElementById("test").submit()">'.stripslashes($result["ville"]).'</a>

  7. #7
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 391
    Points
    9 391
    Par défaut
    Pourquoi ne pas utiliser une balise <select> pour la liste de tes villes ?
    Je ne vois pas l'intérêt de recharger la page dans ton cas...
    Il vaudrait mieux que tu changes le script de réception pour récupérer $_POST['ville'] plutôt que $_GET['ville'].
    Sinon tu vas partir dans des solutions nécessitant du code pour former des usines à gaz...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    Effectivement un select serait une solution mais je ne voulais pas l'utiliser pour des raisons d'esthetisme graphisque. Mais bon il semble que sans select point de salut

  9. #9
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 391
    Points
    9 391
    Par défaut
    Si tu souhaites absolument passer par des liens dans ce cas tu peux utiliser du Javascript.

    Un input de type hidden et une simple affectation de valeur :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <input type="hidden" id="ville" name="ville" value="Paris" />
    <a href="#" onclick="document.getElementById('ville').value='Paris';">Paris</a>
    <a href="#" onclick="document.getElementById('ville').value='Nantes';">Nantes</a>
    <a href="#" onclick="document.getElementById('ville').value='Compiègne';">Compiègne</a>

Discussions similaires

  1. GET et POST en même temps
    Par Kitetkat dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2014, 21h16
  2. Servlet POST et GET en meme temps
    Par Mitolius dans le forum Applets
    Réponses: 1
    Dernier message: 10/10/2013, 20h23
  3. envoi GET et POST en même temps
    Par alienn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/12/2007, 17h18
  4. Réponses: 6
    Dernier message: 22/09/2005, 11h21
  5. Envoyer des messages à d'autres postes en réseau
    Par Wilco dans le forum Bases de données
    Réponses: 1
    Dernier message: 06/07/2005, 13h32

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