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 variables en URL


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Points : 30
    Points
    30
    Par défaut Passage de variables en URL
    Bonjour à tous,

    j'ai un souci avec le passage des variables en url.

    Je veux afficher le résultat d'une requete sql selon deux critères "A" et "B" dans ma page "liste". Mes critères sont sélectionnés à partir de deux listes déroulantes dans ma page "recherche".
    Je récupère les deux valeurs sélectionnées dans des $_POST.
    Mais quand je fais passer ces deux valeurs dans l'url les valeurs ne passe pas
    'comm' et 'leg' sont vide

    Voici le code de ma page recherche

    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
     
     
    <form action="../liste_comm.php?comm=<?php echo "$comm";?>&leg=<?php echo "$leg"; ?>" method="post">
     
      <select name="choix_leg" onchange="if(this.value!=-1) document.getElementById('leg').value=this.value;">      
        <option value="-1">.. Entrez votre choix...</option>      
        <?php
     
    while ($row=odbc_fetch_row($resuleg))
    {
    ?>
        <option value="<?php echo (odbc_result($resuleg,'Legis_designation'))?>">
            <?php echo (odbc_result($resuleg,'designation'))?></option>
     
        <?php } ?>
      </select>
     
       <select name="choix_comm" onchange="if(this.value!=-1) document.getElementById('comm').value=this.value;">      
        <option value="-1">.. Entrez votre choix...</option>      
     
        <?php
    while ($row=odbc_fetch_row($result))
    {
    ?>
        <option value="<?php echo (odbc_result($result,'Libelle'))?>"><?php echo (odbc_result($result,'Libelle'))?></option>
        <?php } ?>
     
      </select>
     
      <input name="comm" type="hidden" id="comm" size="50" maxlength="70" value="" />
      <input name="leg" type="hidden" id="leg" size="30" maxlength="70" />	
      <input type="submit" value="rechercher" id="valider" />
     
    </form>
     
    <?php  if(isset($_POST['comm'])) $comm=$_POST['comm']; ?>
    <?php  if(isset($_POST['leg'])) $leg=$_POST['leg']; ?>
    et le code de ma page liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php 
    include_once("scripts/connect.php");
     
    $comm=$_GET['comm']; 
    $leg=$_GET['leg'];
    print_r($_GET); /* mes variables sont vides*/
     
    $requete="SELECT table1.designation, table2.designation, table2.Date
    FROM (table2 INNER JOIN table1  
    WHERE (((table1.designation)='$leg') AND (table2.designation='$comm'))
    ORDER BY table2.designation, table2.Date;";

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    pour passer tes variables passe par un chp <input type="hidden" ....
    tu ne doit pas passer tes variables dans l'etet du form comme tu le fait....

    Apres tu recupere tes var avec un $_POST


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //ancien form
    <form action="../liste_comm.php?comm=<?php echo "$comm";?>&leg=<?php echo "$leg"; ?>" method="post">
     
    //nouveau form
    <form method=post" action="../liste_comm.php">
    <input type="hidden" value="<?php echo "$comm";?>" >
    <input type="hidden" value="<?php echo "$leg"; ?> ">

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut

    +1 guigo,
    Tu dois d'abord terster si les variables du formulaire sont bien reçue avant d'utiliser ses valeurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(isset($_POST['comm']) && isset($_POST['leg']))
    {
      $comm=$_POST['comm']; 
      $leg=$_POST['leg'];
    }
    else
    {
      $comm=""; 
      $leg="";
    }
    Sinon pour
    Mais quand je fais passer ces deux valeurs dans l'url les valeurs ne passe pas
    Tu dois utiliser method="GET" pour ton formulaire et tu récupères les valeurs avec $_GET.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous et merci pour vos réponses!

    J'ai fais le test sur les variables après le formulaire
    comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <input name="comm" type="hidden" id="comm" size="50" maxlength="70" value="" />
      <input name="leg" type="hidden" id="leg" size="30" maxlength="70" />	
      <input type="submit" value="rechercher" id="valider" />
     
    </form>
     
    <?php  if(isset($_POST['comm'])) $comm=$_POST['comm']; ?>
    <?php  if(isset($_POST['leg'])) $leg=$_POST['leg']; ?>
    sinon ou dois-je le mettre?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Points : 30
    Points
    30
    Par défaut
    Re

    En modifiant la method du formulaire en $_get ca marche

    Merci pour votre aide

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

Discussions similaires

  1. Passage de variables par URL
    Par dré kam dans le forum Langage
    Réponses: 2
    Dernier message: 01/12/2011, 18h08
  2. Probleme dans le passage des variables dans URL
    Par GarsDuCalvados dans le forum Langage
    Réponses: 16
    Dernier message: 04/01/2011, 14h02
  3. [JSTL] Passage de variable par URL
    Par pingu dans le forum Taglibs
    Réponses: 2
    Dernier message: 28/03/2009, 14h11
  4. [Système] passages de variables par URL
    Par kev42100 dans le forum Langage
    Réponses: 5
    Dernier message: 16/05/2008, 13h57
  5. Passage de variables dans URL au format date
    Par claralavraie dans le forum ASP
    Réponses: 6
    Dernier message: 18/12/2006, 21h23

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