Variables...$$

Résolu
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005 - 15 nov. 2004 à 18:22
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008 - 15 nov. 2004 à 19:08
Bonjour,

partez pas, c juste un petit souci....

J ai refait mon script, vous pouvez faire un copier-coller pour le tester....l unique probleme est que je me plante avec les variables $$.

Voici mon script, si vous pouviez y jetter un coup d oeil.....le truc est que data1=pierre, data2=paul, et ainsi de suite pour data"i"...sauf que j arrive a afficher data1 mais pas sa valeur!!

voici mon code, si vous pouviez faire qq chose, ca serait bien sympa....

<?php
//-------------------------------------------------------------------------
// Premiere partie: on ajoute les noms et l utilisateur rentre un seul nom
//-----------------------------------------------------------------------

// si on a deja rentre un nom
$nb_checked=0;
if ($_POST['nb_checked']!=0)
{
$nb_checked=$_POST['nb_checked']; // on recupere le nombre de fois checké
$r[$nb_checked]=strtoupper($_POST['nom']); // on met "nom" dans la variable data[nb_checked]
echo 'Valeur de nb_checked au debut du programme:'.$nb_checked.'
';
echo 'Le dernier nom entré est:'.$r[$nb_checked].'

';
// on recupere le nom qui a ete entré par l user dans la variable $data[$i] et tout ceux qui avaient ete entré avant
for ($i=1;$i<$nb_checked;$i++)
{
$r="data";
$r.=$i;
$resultat=$_POST[$r];
echo 'Valeur du post R:'.$_POST[$r].'
';
echo 'Nous sommes dans la 1ere boucle for et voici ce que nous avons entré:'.$resultat.'
';
echo 'Nombre d enregistrement :'.$i.'

';
$r="data";
}
}

// ici le formulaire pour ajouter
//Dans le formulaire :
//
//
//

//et dans le traitement :
//$r = "c" ; // $r va servir a generer les "name" du dessus
//for($i = 1 ; $i <= 3 ; $i++) //on commence a 1 car dans le formulaire ca commence a 1
//{
//$r .= $i ; //on obtient ainsi c1 , c2 et c3...
//$resultat = $_POST[$r] ; //equivaut a $_POST["c1"] (par exemple)
//echo "valeur de la variable recuperee : $resultat

" ; // au grand miracle ca affiche true ou false
//$r = "c" ; //on remet $r a c pour la suite du for
//}
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<?
for ($i=1;$i<=$nb_checked;$i++) // on fait un for pour passer en hidden toutes les valeurs precedemment rentrées
{
$r="data";
$r.=$i;
echo $r; // valeur de data[i]
?>
" type="text" value="<?php echo $r;?>" />

<?php
$r="data";
}
$nb_checked++;
// fin du for du passage de valeurs entrees
// on passe aussi le nombres de fois checked

echo 'Valeur de nb_checked a la fin du programme:'.$nb_checked;'
' ?>
" />


</form>

1 réponse

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
15 nov. 2004 à 19:08
salut

j'ai pas de koi tester ton script sous la main mais je pense voir ton probleme (j'utilise ca aussi)....

Ala place de ca :

 echo $r; // valeur de data[i] 


quand tu vevut la valeur de ton datai tu met ca :

 echo $$r; // valeur de data[i] 


Et puis ca marche beaucoup mieux!

je pense que vu le code tu doit passer ca aussi en $$ anfin juste la value

" type="text" value="<?php echo $$r;?>" />


++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
3
Rejoignez-nous