Checkbox et passage de plusieurs données dans le value

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 : Checkbox et passage de plusieurs données dans le value

par Epock » 28 juil. 2007, 14:06

Merci beaucoup Truc pour ton aide précise :)

Je vais tester ca des que possible.

Mes excuses à la modération pour le up.

par Truc » 28 juil. 2007, 12:48

Dans ton cas tu places $infos dans "value" en effectuant un test d'affichage (après validation du formulaire) avec :
<pre>
<? var_dump($_POST); ?>
</pre>
Tu verrais ce qui est retourné... certainement "Array".
<?php
$infos=array();
$infos[0]=$a['nom'];
$infos[1]=$a['prenom'];
$infos[2]=$a['ville'];
$infos[3]=$a['mail'];
$infoValue = implode('#-#',$infos);
// ou $infoValue = serialize($infos);
?>                    
<tr >
   <td class="dborder" width="30">
     <input type="checkbox" name="infosnonmb[]" value="<?php echo $infoValue ; ?>" checked="checked">  
   </td>
</tr>
Voila une autre syntaxe avec un tableau (grâce à []) pour l'attribut name.

Récupération :
//test d'affichage
<pre>
<? var_dump($_POST); ?>
</pre>
<?php

$infosnonmb = $_POST['infosnonmb];
                
foreach(infosnonmb as $infos)
{
   $info = explode('#-#',$infos);
   $nom=$info[0];
   $prenom=$info[1];
   $ville=$info[2];
   $mail=$info[3];
   $commi->newNonmembre($com,$nom,$prenom,$mail,$ville);
} 

/* ou avec serialize
foreach(infosnonmb as $infos)
{
   $info = unserialze($infos);
   $nom=$info[0];
   $prenom=$info[1];
   ...
}
*/
?>         

par zeus » 28 juil. 2007, 09:30

Modération :
Epock, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

par Invité » 28 juil. 2007, 05:01

up ? :cry:

par Epock » 27 juil. 2007, 17:15

C'est probable...

Quelle serait la synthaxe adéquate pour encapsuler 4 variables dans une chaine de caractere séparée par des / ? La mienne devait être défaillante...

par Yosh » 27 juil. 2007, 17:04

Et j'ai déja tenté de passer par une chaine de caractères, mais pareil, l'explode ne me renvoyait aucune variable...
Pas possible, je l'ai déjà fait à plusieurs reprises.

Tu a du faire une erreur.

par Epock » 27 juil. 2007, 17:00

Je ne peux pas utiliser l'id car ces personnes n'en ont pas pour des raisons particulières...

Et j'ai déja tenté de passer par une chaine de caractères, mais pareil, l'explode ne me renvoyait aucune variable...

Re: Checkbox et passage de plusieurs données dans le value

par Yosh » 27 juil. 2007, 16:49

pourquoi est ce que tu t'embête à vouloir passer un tableau dans le value?

Passe simplement l'ID, et si ça ne ne te convient pas utilise une chaine du type id/nom/prenom/email

Ainsi tu n'a plus qu'a spliter ta chaine sur le /

Checkbox et passage de plusieurs données dans le value

par Epock » 27 juil. 2007, 16:46

Bonjour,

Je développe un petit truc en php, qui affiche une liste de membres avec pour chacun une case à cocher, afin par la suite de créer des listes de personnes dans la BD...

Voila le code :
$infos=array();
					$infos[0]=$a['nom'];$infos[1]=$a['prenom'];$infos[2]=$a['ville'];$infos[3]=$a['mail'];
					
					echo'<tr ><td class="dborder" width="30">'; 
					echo'<input type="checkbox" name="infosnonmb'.$i.'" value="'.$infos.'" checked="checked">';  
					echo'</td>
					echo'</tr>';
					$i=$i+1;
Voila grosso modo, j'essaye de faire passer un tableau qui contient 4 variables, via le value de ma checkbox.

Voila le code qui traite le formulaire :
			for($j=1;$j<=$i;$j++)
			{
				$infosnonmb=array();
				$infosnonmb=$_POST['infosnonmb'.$j.''];
				
						if ($infosnonmb!=0)
						{
							$nom=$infosnonmb[0];$prenom=$infosnonmb[1];
							$ville=$infosnonmb[2];;$mail=$infosnonmb[3];
							$commi->newNonmembre($com,$nom,$prenom,$mail,$ville);
						}	
			}			
Voila et je test depuis 1 heure toutes les synthaxes possibles pour mon tableau mais je ne trouve pas la bonne, je n'arrive a récupérer aucune variable de mon tableau donc je ne peux pas remplir ma base...

J'aimerais donc de l'aide pour trouver la bonne synthaxe avec ces tableaux, ou si vous avez une solution plus pratique pour faire passer plusieurs variables via la meme checkbox ca m'aiderait...

Merci d'avance