PHP/HTML Recupérer le nom d'un input

Résolu
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je cherche a récupérer le nom de plusieurs input générés par un while, j'ai pensé
à un truc du genre, mais soit la syntaxe est mauvaise, soit c'est emme pas possible :

$i=0;
while($data2 = mysql_fetch_assoc($req2))
{
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; ?>
<input type="text" name="entrée $i" maxlength="250"> <?php
$i++;
}


Comme vous le voyez, je ne sais pas cb de input vt etre générés ... et j'ai besoin de savoir leur
nom pour traiter ensuitee les données entrées par l'utilisateur ..

Ou si vous voyez un autre moyen ..

Merci pour votre aide !

6 réponses

[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28
 
Ah ok.
Pourquoi ne pas envoyer les données dans un tableau alors?
Il suffira d'utiliser count à la réception.
Je sais que ça marche en $_GET, jamais essayé en POST, mais ça devrait être la même chose, non?
1
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Pour la méthode de [o.o]REplay :
while($data2 = mysql_fetch_assoc($req2)) 
{ 
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; 
echo '<input type="text" name="entree[]" maxlength="250">';
} 
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention  
 
(=
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Mais comment je peux faire pour recuperer ce nom dans un echo par exemple ?

A pas compris...
0
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Si je fais comme ca,

Dans mon fichier de traitement, si j'écris par exemple :

echo $_POST['entrée_0'] ;

ca me met :

Notice: Undefined index: entrée_0 in D:\Program Files\EasyPHP 2.0b1\www\test\updating.php on line 12

voila mon pb ...

merci de votre aide en tout cas ..
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Cela veut dire que la variable entrée_0 n'existe pas ou n'a pas été envoyée par le formulaire, vérifie que tu n'a pas fait de faute de frappe...

Astuce : ne met jamais d'accents dans les noms de variables
Astuce : pour voir quelle(s) variable(s) a(ont) été envoyée(s) par un formulaire, insere print_r( $_POST ) ; dans ton code
0
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Re - Bonjour !

Alkaraan, j'ai suivi ton conseil et inseré un print_r( $_POST ) ; dans mon code et j'obtiens ca :


Notice: Undefined index: entree_0 in D:\Program Files\EasyPHP 2.0b1\www\test\updating.php on line 13
Array ( [nom] => [domaine] => [onglet] => [remarques] => [entree_'_$i_'] => [nvelle_entrée'] => [sortie_'_$j_'] => [nvelle_sortie'] => )

On dirait qu'il ne considère pas $i comme une variable ... comment faire pour changer ca ?
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Le probleme est dans ta page de formulaire...

Regarde si tu as bien suivi la syntaxe :
$i=0; 
while($data2 = mysql_fetch_assoc($req2)) 
{ 
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; 
echo '<input type="text" name="entree_'.$i.'" maxlength="250">';
$i++;
} 
0
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai bien verifié la syntaxe est bonne ...

On dirait que le resultat de l'input "entree_'.$i.'" est écrasé à chaque boucle du while, en fait seul le resultat du dernier input "entree_'.$i.'" est récupéré .

Si je remplis tout mes champs "entree_'.$i.'" générés dans le formulaire, j'obtiens :

Notice: Undefined index: entree_$i in D:\Program Files\EasyPHP 2.0b1\www\test\updating.php on line 13
Array ( [nom] => [domaine] => [onglet] => [remarques] => [entree_'_$i_'] => bonjour [nvelle_entrée'] => [sortie_'_$j_'] => [nvelle_sortie'] => )


Alors que j'ai mis 'bonjour' dans le dernier input "entree_'.$i.'" ... c'est bien le $i qui ne semble pas considéré comme une variable ...
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Essaie d'utiliser les variables dynamiques:) $$variables. ca devrait résoudre ton problème.
-> http://www.manuelphp.com/php/language.variables.variable.php
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37 > [o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention  
 
J'y ai aussi pensé, mais ce n'est même pas le problème ici... C'est dans son formulaire qu'il y a une couille, et pes dans la récupération :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
C'est quand même bizarre ce problème... mais on va essayer de le contourner...
$i=0; 
while($data2 = mysql_fetch_assoc($req2)) 
{ 
$name = 'entree_'.$i ;
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; 
echo '<input type="text" name="'.$name.'" maxlength="250">';
$i++;
} 
0
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon, j'ai trouvé la solution : C'était en effet un probleme de syntaxe dans le formulaire :


<input type="text" name=<?php echo "entree_'.$i.'" ?> maxlength="250"></p><?php


En effet, sans les balise php, $i n'est pas considéré comme une variable !

Merci de votre, aide, je met le topic en résolu !
0
[o.o]REplay Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   28 > Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
omg -.- j'avais pas fais gaf aux balises...
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

1. N'utiliser que des caractères alphanumériques pour nommer les input.
=> "entree_$i"

2.
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; ?>
<input type="text" name="entrée $i" maxlength="250"> <?php 

Tu fermes ta balise php.
Du coup, le $i du nom n'est pas interprété...

=>
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; 
echo '<input type="text" name="entree_'.$i.'" maxlength="250">';
$i++;
-1
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
OK, ce ne serait donc qu'un probleme de syntaxe ...

Mais comment je peux faire pour recuperer ce nom dans un echo par exemple ?

Merci !
0
Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   > Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
un peu d'aide s'il vous plait ...
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606 > Ikkath Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Bsr

Mais macgawel t'a déjà donné la réponse !

Tu fermais ta balise php trop top.

Je ne fais que lire ca réponse et ca donne

$i=0; 
while($data2 = mysql_fetch_assoc($req2)) 
{ 
echo '<dd>'.$data2['entrée'].'<b>Change : </b>'; 
echo '<input type="text" name="entree_'.$i.'" maxlength="250">';
$i++;
} 


0