problème de recuperation de variables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de recuperation de variables

par arno77 » 29 avr. 2005, 11:51

en fait il me suffiser de vidanger tous les zeros du tableau.
merci à tous

par Cyrano » 28 avr. 2005, 18:31

Alors tu peux mettre un évènement onchange sur les checkbox pour vérifier si une quantité a été inscrite.

par arno77 » 28 avr. 2005, 18:28

ok pour le javascript je vais essayer

mais pour le header ce n'est pas possible puisque tout les champs ne sont pas obligatoirement rempli le problème c'est que si tu ne rempli pas le premier champ quantite et que tu coche la premiere checkbox il fait le calcul du montant avec la quantite rentrer tout de suite apres et donc tout se decale.

J'ai voulu faire un test pour qu'il fasse le calcul seuleument si qte et checked sont remplie et valider mais il semble passer au travers

par Cyrano » 28 avr. 2005, 17:28

Un gestionnaire d'évènement, c'est du JavaScript : onClick, onChange, onSubmit etc... ça se programme en JavaScript.

Le header(Location:), c'est pour renvoyer l'internaute vers le formulaire incomplet: si la donnée n'est pas fournie, le traitement va bugguer, donc tu le force à remplir correctement le champ.

par arno77 » 28 avr. 2005, 17:19

je debute en php
c'est quoi ton gestionnaire d'evenement et d'après ce que tu me dis le header (location: )ne convient pas car je veux rentrer les champs suivant s'il son renseigner.

par Cyrano » 28 avr. 2005, 17:10

Rajoute un gestionnaire d'évènement dans ton formulaire pour forcer à remplir ce champ quantité, c'est ce que je vois de plus simple.

Sinon, autre méthode, dans ta page deux avant traitement, tu teste la valeur de cette quantité, si elle est inexistante, tu renvoie vers le formulaire avec header(location: .....)

par arno77 » 28 avr. 2005, 16:51

J'ai essayer en testant la valeur des champs
mais le decalage à quand même lieu

Personne ne sait comment m'aider????

par arno77 » 28 avr. 2005, 15:06

deja essayer cela ne change rien il y a un decallage mais je ne sais pas comment obliger le travail sur la même ligne(même indice

par lamk » 28 avr. 2005, 10:08

et si tu mettais la valeur 0 dans le champ qte s'il est vide ?

problème de recuperation de variables

par arno77 » 27 avr. 2005, 17:31

Bonjour à tous

Voila mon probleme
J'ai deux page php une premiere avec un form qui me renvoie les champs suivant
ref--designation--descrip--prix--qte--et une checkbox

Je recupere tous cela dans ma deuxième page sous forme de tableaux
le probleme est que si le champs quantite n'est pas rempli la checkbox declanche le calcule sur la cellule qte suivante.
comment faire pour resoudre ce problème

voici mes deux pages
--------------page1---------------------------
$result = mysql_query("select * from produits where reference_produit like'lm%' order by reference_produit");
while ($row = mysql_fetch_object($result))
{
echo "<tr>
<td align=\"center\">";
echo $row->reference_produit;echo"<input type=\"hidden\" name=\"choix5[]\" value=".$row->reference_produit.">";
echo "</td>
<td align=\"center\">";
echo $row->designation;echo"<input type=\"hidden\" name=\"choix2[]\" value=".$row->designation.">";
echo "</td>
<td align=\"center\">";
echo $row->descriptif;echo"<input type=\"hidden\" name=\"choix3[]\" value=".$row->descriptif.">";
echo "</td>
<td align=\"center\">";
echo $row->prix_vente;echo"<input type=\"hidden\" name=\"choix4[]\" value=".$row->prix_vente.">";
echo "</td>
<td align=\"center\">";
echo"<input type\"text\" name=\"choix1[]\" size=\"2\" maxlength=\"4\"></td>
<td align=\"center\">";
echo"<input name=\"choix[]\" type=\"checkbox\" value=".$row->reference_produit." >";
echo "</td></tr>";}
-----------------------------------------------------
----------------page2------------------------------
//choix pour la checkbox
$chek=$_POST['choix'];
//choix1 pour la quantite
$qte=$_POST['choix1'];
//choix2 pour la designation
$des=$_POST['choix2'];
//choix3 pour le descriptif
$desc=$_POST['choix3'];
//choix pour le prix de vente
$pv=$_POST['choix4'];
//choix5 pour la reference produit
$ref=$_POST['choix5'];
//test si il ya connection--------------------------------------------------------------
if(empty($_SESSION['id']))
{
echo" il faut vous connecter";//si pas de connexion
}
else
{
$identifiant_client=$_SESSION['id'];
$j=0;
echo "<h1>vous venez d'ajouter au panier :</h1>";
echo"<table border=\"1\" cellspacing=\"0\" cellpading=\"0\" align=\"center\" width=\"644\">
<tr>
<td align=\"center\"><b>Reference</b></td>
<td align=\"center\"><b>Designation</b></td>
<td align=\"center\"><b>Descriptif</b></td>
<td align=\"center\"><b>Quantite</b></td>
<td align=\"center\"><b>Montant</b></td>
<tr>";
for ($i=0;$i<sizeof($chek);$i++)
{
$req_test=mysql_query("select quantite from tampon where reference_produit='".$chek[$i]."' && identifiant_client=".$_SESSION['id']." limit 1");
if(mysql_num_rows($req_test)==0)
{
$montant=$pv[$i]*$qte[$i];
//affichage de chaque ligne-----------------------------------------------------------------------
echo"<tr>
<td align=\"center\">".$chek[$i]."</td>
<td align=\"center\">".$des[$i]."</td>
<td align=\"center\">".$desc[$i]."</td>
<td align=\"center\">".$qte[$i]."</td>
<td align=\"center\">".$montant." €</td>
</tr>";
//bla bla bla
}}
D'avance merci