Problème de transmission de valeur d'un formulaire

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 transmission de valeur d'un formulaire

par BFH » 17 mai 2005, 15:28

Merci pjl mais Cyrano est vraiment trop trop fort ! :pouce: :pouce: :pouce:

Merci beaucoup Cyrano!

par pjl » 17 mai 2005, 15:25

1er reflexe à avoir :
on me cite une fonction que je ne connais pas ou une fonctionalité que j'ignore, je vais de suite voir la doc.

http://www.nexen.net/docs/php/annotee/f ... .count.php

par Cyrano » 17 mai 2005, 15:19

J'entends bien, mais après, dans une boucle, tu récupères la valeur:
<?
for($i = 0; $i < count($ch); $i++)
{
    echo("Valeur cochée numéro ". $i ." : ". $ch[$i]);
}

par BFH » 17 mai 2005, 15:12

Euh en fait c'est pas tout a fait ce dont j'ai besoin

Ce que tu viens de me donner c'est la formule pour connaitre le nombres de Ch cochés à la page d'avant. Moi ce dont j'aurais besion c'est la formule qui me permettre de recuperer les valeurs des Ch cochés à la page d'avant.

Désolé si dans mes propos ça n'était pas clair.

par Cyrano » 17 mai 2005, 15:04

En fait, tu commences par récupérer ta variable:
$ch = $_GET['ch'];
Ensuite tu comptes.
$nb_cases_cochees = count($ch);
c'est tout, après ça, tu peux avoir un point de repère dans une boucle pour le traitement.

par BFH » 17 mai 2005, 14:59

Pardon Cyrano mais je ne sais pas comment on utilise le count avec le Ch[] :oops: :oops:
Pourrais tu me l'expliquer stp

par Cyrano » 17 mai 2005, 14:49

Salut,
modifie ton formulaire comme ceci :

Code : Tout sélectionner

<TD><CENTER><INPUT TYPE=checkbox value="<?=$row['IPage'];?>" name="Ch[]"></CENTER></TD>
Ta variable $_GET['ch'] est alors un tableau indexé, il te suffit de faire un count() pour savoir combien de cases ont été cochées et tu traiteras toutes tes cases.

par BFH » 17 mai 2005, 14:48

J'ai essayé aussi avec :
if(isset($_GET["Ch".$i])) 
Mais sans succès.
J'y avais pensé mais ça marche pas 8-[

par zeus » 17 mai 2005, 14:44

Attend, je me suis trompé dans le code que je t'ai donné :oops:

J'ai fait que la moitié du travail :oops: :oops:

Voilà le code complet
if(isset($_GET["Ch".$i]))
{
  $Ch=$_GET["Ch".$i];
}

par BFH » 17 mai 2005, 14:42

Non désolé cela me retourne:
Parse error, expecting`'," or`')" in chemin du fichier on line XX

J'ai essayé aussi avec :
if(isset($_GET["Ch"]."'$i'")) 
ou
if(isset($_GET["Ch".$i])) 
Mais sans succès.

Merci quand même

par zeus » 17 mai 2005, 14:25

Et ce code donne quoi ?
if(isset($_GET["Ch"]."$i"))
{
  $Ch=$_GET["Ch".$i];
}
Si je me souviens bien du fonctionnement, PHP devrais commencer par interpreter "Ch".$i et donner "Ch1" puis il devrais intrpreter $_GET["Ch1"] !!

A tester :roll:

par BFH » 17 mai 2005, 14:17

Bonjour,
Mon sujet est assez long alors je repette mon problème :
Comment faire pour recupérer des valeur telles que Ch0, Ch1, Ch2, ChX...
Explications: Je remplis sur une page un formulaire en checkbox pour ne pouvoir selectionner que une case ou plusieurs selon mon choix :
 $i=0;
while($row=mysql_fetch_assoc($result))
{
?>
<TR>
<TD width="10%">&nbsp;</TD>
<TD><font color="#0033CC" ><B> <?=$row["IPage"];?></B></font></TD>
<TD><CENTER><INPUT TYPE=checkbox value="<?=$row['IPage'];?>" name="Ch<?=$i;?>"></CENTER></TD>
<TD width="10%">&nbsp;</TD>
</TR>
<TR>
<TD></TD>
</TR>
<?
$i++;
} 
Sur la page d'après je veux recupérer les champs que j'ai coché. Pour cela j'ecris :
if(isset($_GET["Ch"]."$i"))
{
$Ch=$_GET["Ch"]."$i";
}
Je sais que cela est faux et ne fonctionne pas mais je ne sais pas comment faire pour reparer mon code, est ce que quelqu'un pourrait m'aider?

par BFH » 13 mai 2005, 20:40

Si je garde Ch fixe alors ça ne sert à rien d'avoir un checkbox, autant avoir un boutton radio, non?

Or moi ce que je veux c'est pouvoir selectionner une ligne, ou deux ou plus ou toutes ou aucune. C'est pour cela que j'incrémente Ch

Si tu pense que j'ai tort hesite pas a me le dire

par seayoung » 13 mai 2005, 15:57

petite question ( encore )
pourquoi ne ferais tu pas un truc du genre:
pour ton formulaire :
<input type="checkbox" value=<?= $row['Nom_Informatique'];?> name="Ch">
et apres tu met ta fonction :
for($i=0, $i<=$Nombre_max_qui_suit_Ch, $i++)
  {
  if(isset($_GET['Ch']))
    {
    $CHAMPS="$_GET['Ch']"."$i."";
    }
  }
ou quelque chose dans le gout ....
en gros garder ton Ch fixe et l'implémenter de $i

par BFH » 13 mai 2005, 15:45

Iclo, tu pourrais me donner un exemple car je ne vois pas trop comment utiliser ce que tu me dit.

Seayoung, ChX retourne des valeurs telles que Réseau ou TCP/IP ou Carte Mère par exemple.
L'incrémentation c'est moi qui l'ait faite car sur une page j'ai qqch comme ça :
$i=0;
while($row=mysql_fetch_assoc($result))
{
?>
<td> <?= $row["Nom_Informatique"]; ?></td>
<td> <input type="checkbox" value=<?= $row['Nom_Informatique'];?> name="Ch<?=$i;?>"> </td>
<?
}
Donc apres cela il y a un bouton de validation qui sert à transmettre les divers champs Ch que l'un aura coché.

C'est pour cela que je voudrais recupérer les valeurs des différents ChX transmis.

Est ce que c'est assez clair, sinon n'hesite pas a me redemmander. 8)