Transmettre le contenu d'un champs de texte par URL

etincelle01 Messages postés 10 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 27 mai 2010 - 23 mai 2010 à 21:55
Mickael33480 Messages postés 34 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 16 août 2011 - 28 mai 2010 à 10:55
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:
while($row =  mysql_fetch_array($result)) {
?>

  <tr> 
    
   <td> <?php echo $row["identifiant"] ?> </td>
    <td><?php echo $row["designation"] ?></td>
    <td> 
  <?php
  if(isset($_POST['quantite']))
{
  $qte1 =$_POST['quantite'];
 	
  }

   ?>
   </td>
   <td>[ajouter_commande.php?qte=<?php echo $qte1;?>&ajouter=<?php echo $row['identifiant'];?> Ajouter]</td>



Aidez-moi s'il vous plaît.

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
23 mai 2010 à 22:46
Salut,

Pense à indiquer clairement la ligne de l'erreur (173)
J'imagine que $_POST['quantite'] n'est pas défini.

Pour le reste il faudrait en connaitre plus.


Cordialement,



Kohntark -
0
etincelle01 Messages postés 10 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 27 mai 2010
23 mai 2010 à 23:50
Pardon, la ligne de l'erreur est la ligne du lien "ajouter".

Comment définir $_POST['quantite']?
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
24 mai 2010 à 08:04
Comment définir $_POST['quantite']?

Heu, bah ça toi seule peut le savoir. C'est une variable qui provient de ton formulaire; je ne peux pas deviner à quoi elle correspond.

Il y a de toute façon un problème dans ton script :
Tu testes bien l'existence de $_POST['quantite'] mais si elle n'existe pas rien n'est prévue => donc erreur sur la ligne du lien.

Je re :
Pour le reste il faudrait en connaitre plus.



Cordialement,


Kohntark -
0
etincelle01 Messages postés 10 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 27 mai 2010
25 mai 2010 à 20:03
J'ai essayé avec ce code là:
<?php 
if(isset($_POST['quantite'])) {
    $qte=$_POST['quantite'];
} else {
    $qte=1;
}
echo $qte;



Mais ça m'affiche toujours la valeur 1.

Voici le formulaire en entier:
<form name="form2" method="post" action="catalogue.php">
Identifiant ,
Désignation ,
Quantité,
Ajouter?,

<?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)) {
?>

----

<?php echo $row["identifiant"] ?>,
<?php echo $row["designation"] ?>,
,

<?php
if(isset($_POST['quantite'])) {
$qte=$_POST['quantite'];
} else {
$qte=1;
}
?>

&ajouter=<?php echo $row["identifiant"];?>" title="Ajouter à la commande">Ajouter,

<?php
}
?>

</form>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
26 mai 2010 à 14:17
Ton formulaire ne risque pas d'être soumis puisqu'il n'y a pas de bouton submit.


Kohntark -
0
etincelle01 Messages postés 10 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 27 mai 2010
27 mai 2010 à 01:14
J'ai fait ça:
<td>[ajouter_commande.php?qte=<?php echo $qte;?>&ajouter=<?php echo $row[ " title="Ajouter à la commande" onclick ="form2.submit">Ajouter]</td>

mais j'ai toujours la valeur 1 pour la quantité.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
27 mai 2010 à 08:09
je me demande bien pourquoi tu cherches à envoyer à la fois des données POST et GET. Il y a sans doute un pb de logique là.

Passe donc tout en POST, et si tu veux vraiment utiliser un lien plutôt qu'un bouton, écrit le comme cela :
[# Ajouter]



Kohntark -
0
Mickael33480 Messages postés 34 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 16 août 2011 2
28 mai 2010 à 10:55
Non en fait c'est normal que tu reçoive toujours une valeur $qte = 1 car ton script ne récupère pas la valeur de $qte.

Il te faudrait un script du type :
<form name="form2" method="post" action="#">
Identifiant ,
Désignation ,
Quantité,
Ajouter?,

<?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)) {
?>

----

<?php echo $row["identifiant"] ?>,
<?php echo $row["designation"] ?>,
,

<?php
if(isset($_POST['quantite'])) {
$qte=$_POST['quantite'];
?>
&ajouter=<?php echo $row[\"identifiant\"];?>\" title=\"Ajouter à la commande\">Ajouter
<?
} else {
$qte=1;
}
?>

Ajouter,

<?php
}
?>

</form>


J'ai repris par ton code. Test le et là et dit moi
0
Rejoignez-nous