murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006
-
29 janv. 2006 à 11:50
murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006
-
30 janv. 2006 à 08:18
Bonjour !
J'espère que j'ai intitulé le sujet de mon message correctement ! Je vais developper et expliquer ce qui se passe (pas, du moins plus !) depuis que j'ai installé la version 5 de php ....
Problème certainement tout bête, mais je sèche complétement :
J'ai un formulaire qui passe des données (jusque là normal !) récupéré d'une table et dont le while me créer chaque fois une ligne du dis formulaire (et en même temps de l'affichage des données)
Ma requête
while ($data = mysql_query())
{
echo ''.$data[1].'
';
}
Ensuite dans le script qui gère ensuite le formulaire j'avais fait ceci :
extract(
$_POST,EXTR_SKIP);
foreach ($var as $key => $value)
{
echo $value;
}
(bon c'est une version simplifié du traitement du formulaire, mais bon le problème se situe dès le départ donc j'ai mis que les infos importantes !)
Avec php4, aucun soucis je récupérais bien mes valeurs passées par le formulaire avec mon foreach, aucun soucis... Depuis php5, j'ai un renvoi d'erreur qui me dit que j'ai un argument invalid dans foreach ()
J'ai compulsé le bouquin pour voir si la syntaxe n'avait pas changé, pour voir ce qui clochait dans ce que j'avais écrit, maaaaaaaaaiiiiiiiissss apparement c'est ok j'ai pas fait d'erreur !
Si quelqu'un pouvait éclairer ma lanterne .... Merci d'avance
A voir également:
Pb de récupération d'un tableau passé par formulaire depuis php5
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 29 janv. 2006 à 23:03
normal car tu fais un foreach du $_POST entier
ici ça donnerait pour ton tableau
while(list($key,$value)=each ($_POST['var']))
{
echo $key,$value;
}
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006 29 janv. 2006 à 15:54
Eeeeeeuu désolée j'ai un peu de mal à suivre ....
Je vais recommencé le schmilblik ! :)
Voila, j'ai un formulaire qui est rempli par des données venant d'une table (en fait deux, avec une jointure, mais là n'est pas le soucis), ce formulaire est un formulaire de modification de données.
J'ai ma page avec les données du personnage (parce qu'il s'agit de modifier les compétences d'un personnages et ensuite les valeurs)
Nom de la compétence [input texte : valeur de la compétence]
Comme je fais un while sur la requête sql, pour écrire mon formulaire j'ai fait ceci :
<form>
.$data[1].
</form>
sachant que var[] stock $data[0] (qui correspond en fait à l'id de ma compétence), $data[1] est le nom de la compétence et val[] stock $data[2] (qui est la valeur de la compétence pour le personnage)
Donc voilà, j'ai stocké mes var et mes val en tableaux que je passe ensuite dans un script pour mettre à jour les compétences et les valeurs du personnages.
Hors avec mon ancienne méthode que j'avais écrite avec un foreach() cela ne fonctionne plus parce qu'apparement il y a un argument dans foreach() qui ne convient pas .... J'ai donc vérifié ce que j'avais en echo sur var et val
J'ai eu un retour de Array, donc mes deux tableaux existe bien mais j'arrive plus à en extraire les données.
quand j'ai fait la première solution que tu m'avais proposé Anthomicro, il m'a bien retourné en echo de .$valeur les deux Array que j'ai passé par le formulaire, mais je n'ais toujours pas les valeurs qui sont dedans ...
Bref je n'arrive donc plus à les extraires pour les repasser par la suite dans une requête d'update de ma table :(
J'ai tenté avec un explode, j'ai tenté avec une boucle for() mais, je n'y arrive pas du tout !!
Je vois pas ce qui cloche et ce qui aurait pu changer entre php4 et php5 et qui aurait fait que ma boucle foreach ne fonctionne plus