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 :

transmettre le contenu d'un champs de texte par URL


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut transmettre le contenu d'un champs de texte par URL
    Bonsoir,

    Je suis entrain de faire un panier virtuel.
    Dans ma page "catalogue.php", j'affiche le contenu d'une table dans un tableau contenant les champs: identifiant, désignation, quantité et ajouter.
    La colonne "quantité" contient un champs de texte où on insère la quantité voulue.
    Et la colonne "ajouter" comporte des liens "Ajouter" qui mènent vers la page "ajouter_produit.php" pour faire des traitements après.
    Le lien "ajouter" permet de transmettre deux paramètres par l'URL: l'identifiant et la quantité.
    L'identifiant est transmis sans problème, mais j'ai l'erreur suivante au niveau de la quantité:

    Notice: Undefined variable: qte1 in C:\wamp\www\Nouveau dossier\catalogue.php on line 173

    Voici une partie de mon code de la page catalogue.php:
    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
     
    while($row = mysql_fetch_array($result)) {
    	?>
     
    	  <tr> 
     
    	   <td><b><?php echo $row["identifiant"] ?></b></td>
        <td><b><?php echo $row["designation"] ?></b></td>
        <td><b> <input name="quantite" type="text">
      <?php
    	  if(isset($_POST['quantite']))
    		{
    		  $qte1=$_POST['quantite'];
     
    		  }
     
    	   ?>
    	   </b></td>
    		   <td><b><a href="ajouter_commande.php?qte=<?php echo $qte1;?>&ajouter=<?php echo $row['identifiant'];?>" title="Ajouter à la commande">Ajouter</a></b></td>
    La ligne 173 est la ligne du lien "Ajouter".

    Aidez-moi s'il vous plaît.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Ne serait-ce pas $_POST['qte1'] ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Tu veux dire que je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <td><b><a href="ajouter_commande.php?qte=$_POST['qte1']&ajouter=<?php echo $row['identifiant'];?>" title="Ajouter à la commande">Ajouter</a></b></td>
    ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Ouep, sans oublier <?php echo ... ?>

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Même avec ça, l'erreur persiste.

  6. #6
    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
    Bonjour,
    Si la variable $_POST['quantite'] n'existe pas donc c'est normale que tu as cet erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(isset($_POST['quantite']))
    		{
    		  $qte1=$_POST['quantite'];
     
    		  }
    	else
    		  {
    		     $qte1="";
    		     echo "Variable post quantite inexistant";
    		  }
    A+.

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    ça m'affiche toujours "Variable post quantite inexistant".

  8. #8
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Montre nous ta page complète

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Voici le code de mon formulaire en entier:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <form name="form2" method="post" action="catalogue.php">
    <table id="results" align="center" width="750" height="44" border="1">
      <tr >
     
    <td><b> Identifiant </b></td>
    <td><b> D&eacute;signation </b></td>
    <td><b>Quantit&eacute;</b></td>
    <td><b>Ajouter?</b></td>
    </tr>
     
    <?php
     
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $db1 = 'mabase';
     
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) ;
    mysql_select_db($db1) ;
     
    $select = "SELECT * FROM produits";
     
     
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
     
    while($row = mysql_fetch_array($result)) {
    	?>
     
    	  <tr> 
     
    	   <td><b><?php echo $row["identifiant"] ?></b></td>
        <td><b><?php echo $row["designation"] ?></b></td>
    	<td><b> <input name="quantite" type="text"></b></td>
     
    <?php 
    if(isset($_POST['quantite'])) {
        $qte=$_POST['quantite'];
    } else {
        $qte=1;
    }
    ?>
     
    <td><b><a href="ajouter_commande.php?qte=<?php echo $qte;?>&ajouter=<?php echo $row["identifiant"];?>" title="Ajouter à la commande">Ajouter</a></b></td>
     
    </tr>
    <?php
    	}
    	?>
    	</table>
    	</form>

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    tu doit faire ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	   <td><b><?php echo $row["identifiant"] ?></b></td>
        <td><b><?php echo $row["designation"] ?></b></td>
    <form name ="form2010" method ="get" action ="ajouter_commande.php">
    	<td><b> <input name="quantite" type="text"></b></td>
    	  <input type = "hidden" value="<?php echo $row["identifiant"] ?>"/>
              <td><b><a href="" title="Ajouter à la commande" onclick ="form2010.submit" > Ajouter </a> </b>  </td></form>
     
    </tr>
     
    	</table>
    	</form>
    ou au lieux de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><b><a href="" title="Ajouter à la commande" onclick ="form2010.submit" > Ajouter </a> </b>  </td>
    tu fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type ="submit" value="Ajouter"/>
    bon chance

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci nordAfrique, mais je ne comprends pas bien ce qu'il faut faire.
    Est-ce que "form2010" est inclu dans "form2"?

  12. #12
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Après avoir vu ta page complète je vois pas l'utilité de form2 tu supprime le premier tag <form name =form2>

  13. #13
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    J'ai ce code là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name ="form2010" method ="get" action ="ajouter_commande.php">
    donc le lien "Ajouter" est supposé m'envoyer à la page "ajouter_commande.php", mais il recharge la même page.
    Comment faire en sorte que le lien me dirige à la page "ajouter_commande.php" (j'aimerai tester mon code)?

  14. #14
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    [QUOTE=nordAfrique;5234907]tu doit faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name ="form2010" method ="get" action ="ajouter_commande.php">
    Pourquoi mettre le formulaire en get tandis que les données sont reçues en post ?

  15. #15
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut c bon
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
     
    <table id="results" align="center" width="750" height="44" border="1">
      <tr >
     
    <td><b> Identifiant </b></td>
    <td><b> D&eacute;signation </b></td>
    <td><b>Quantit&eacute;</b></td>
    <td><b>Ajouter?</b></td>
    </tr>
     
    <?php
     
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $db1 = 'mabase';
     
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) ;
    mysql_select_db($db1) ;
     
    $select = "SELECT * FROM produits";
     
     
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
     
      $k=0;
     //important pour differencier les noms des formulaires
    while($row = mysql_fetch_array($result)) {
     $k++;
     echo "<form name ='form".$k."' method='post' action='ajouter_commande.php'>"
    echo "<input type = 'hidden' name='ajouter' value ='".$row["identifiant"]."'";
    	?>
     
    	  <tr> 
     
    	   <td><b><?php echo $row["identifiant"] ?></b></td>
        <td><b><?php echo $row["designation"] ?></b></td>
     
    	<td><b> <input name="quantite" type="text"></b></td>
     
     
     
    <td>
    <?php
    echo "<a style ='cursor: pointer; font-weight: bold;' title='Ajouter à la commande' onclick ='form".$k.".submit()'>Ajouter</a>";
     
    }
    ?> 
    </td>
     
    </tr>
     
    	</table>
    	</form>
    et ce code là tu l'ajoute dans la page ajouter_commande.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    if(isset($_POST['quantite'])) {
        $qte=$_POST['quantite'];
    } else {
        $qte=1;
    }
    ?>
    j'espère que ça va marché en tous les cas chez moi àa marche

Discussions similaires

  1. Envoyer le contenu d'une zone de texte par SMS
    Par étudiante_info dans le forum Android
    Réponses: 1
    Dernier message: 04/04/2011, 16h44
  2. Transmettre le contenu d'une zone de texte avec un lien
    Par Philippe PONS dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2008, 17h37
  3. Réponses: 6
    Dernier message: 11/04/2007, 08h03
  4. [AJAX] Transmettre le contenu d'un champ hidden
    Par Arnaud F. dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/10/2006, 20h07
  5. Classer un champ type texte par ordre numérique
    Par Mariboo dans le forum Access
    Réponses: 8
    Dernier message: 15/06/2006, 15h45

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