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 -
[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 !
à 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 !
A voir également:
- PHP/HTML Recupérer le nom d'un input
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Editeur html - Télécharger - HTML
- Récupérer mon compte facebook désactivé - Guide
6 réponses
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?
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?
Alkaaran
Messages postés
285
Date d'inscription
Statut
Membre
Dernière intervention
37
Pour la méthode de [o.o]REplay :
[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
(=
Mais comment je peux faire pour recuperer ce nom dans un echo par exemple ?
A pas compris...
A pas compris...
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
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
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 ?
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 ?
Le probleme est dans ta page de formulaire...
Regarde si tu as bien suivi la syntaxe :
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++; }
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 ...
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 ...
Essaie d'utiliser les variables dynamiques:) $$variables. ca devrait résoudre ton problème.
-> http://www.manuelphp.com/php/language.variables.variable.php
-> http://www.manuelphp.com/php/language.variables.variable.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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++; }
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 !
<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 !
Bonjour.
1. N'utiliser que des caractères alphanumériques pour nommer les input.
=> "entree_$i"
2.
Tu fermes ta balise php.
Du coup, le $i du nom n'est pas interprété...
=>
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++;