[PHP] $_POST sur champs avec nom aléatoire
Résolu
Passarinho44
Messages postés
963
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Passarinho44 Messages postés 963 Date d'inscription Statut Contributeur Dernière intervention -
Passarinho44 Messages postés 963 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je fais actuellement un formulaire en PHP et Javascript surtout.
Avec le Javascript, je génère des champs textes que l'on peut supprimer.
A chaque fois je met un id et un nom au champ sous la forme : 'comment' + i
où i est une variable qui est incrémentée à chaque fois.
Le seul problème c'est que les champs peuvent être supprimés.
Je me retrouve donc avec des champs avec des noms :
comment1
comment3
comment4
comment7
...
C'est très alétoire et ça change à chaque fois donc je ne sais pas comment récupérer les noms.
Quelqu'un aurait une idée de la boucle à faire?
J'ai testé
$i = 0;
while ( isset($_POST['comment' . $i) ) {
$i++;
}
Mais bien sur ça ne fonctionne que si tous les noms se suivaient ...
Quelq'un a une idée pour récupérer la liste de ces noms en PHP?
Merci d'avance !
Je fais actuellement un formulaire en PHP et Javascript surtout.
Avec le Javascript, je génère des champs textes que l'on peut supprimer.
A chaque fois je met un id et un nom au champ sous la forme : 'comment' + i
où i est une variable qui est incrémentée à chaque fois.
Le seul problème c'est que les champs peuvent être supprimés.
Je me retrouve donc avec des champs avec des noms :
comment1
comment3
comment4
comment7
...
C'est très alétoire et ça change à chaque fois donc je ne sais pas comment récupérer les noms.
Quelqu'un aurait une idée de la boucle à faire?
J'ai testé
$i = 0;
while ( isset($_POST['comment' . $i) ) {
$i++;
}
Mais bien sur ça ne fonctionne que si tous les noms se suivaient ...
Quelq'un a une idée pour récupérer la liste de ces noms en PHP?
Merci d'avance !
A voir également:
- [PHP] $_POST sur champs avec nom aléatoire
- Nom de l'adresse - Forum Réseaux sociaux
- Nom sonnerie iphone - Forum iPhone
- Word mettre à jour tous les champs ✓ - Forum Word
- Nom d'adresse - Forum Jeux vidéo
- Nom de compte steam exemple - Forum Jeux vidéo
3 réponses
Merci pour cette réponse,
C'est bien ce que je voulais faire, mon problème était : comment trouvé $max?
J'ai trouvé un petit bout de code pas mal du tout : (si ça peut aider quelqu'un )
foreach($_POST as $key=>$val) { echo $key.'=>'.$val.'<br />'; }
Je vais essayer de me débrouiller avec ça pour trouver le fameux $max ...
C'est bien ce que je voulais faire, mon problème était : comment trouvé $max?
J'ai trouvé un petit bout de code pas mal du tout : (si ça peut aider quelqu'un )
foreach($_POST as $key=>$val) { echo $key.'=>'.$val.'<br />'; }
Je vais essayer de me débrouiller avec ça pour trouver le fameux $max ...
Bon bah voilà j'ai réussi à me débrouiller avec ça ^^
Je poste mon code si ça peut aider quelqu'un ... =)
// Recherche du maximum pour la boucle pour
// On initialise le maximum
$max = 0;
// On recherche parmis toutes les valeurs postées
foreach($_POST as $key=>$val) {
// On les coupe avec "comment"
$keys_part = split("comment", $key);
// Si c'est bien sous la forme comment + i
if ( sizeof($keys_part) > 1 and $keys_part[1] > $max ) {
// Le maximum est initialisé avec ce i
$max = $keys_part[1];
}
}
// On récupère les résultats dans un tableau
$j = 0;
// On fait une boucle sur tous les comments
for ( $i = 0 ; $i < ($max + 1) ; $i++ ) {
// Si le comment n'est pas vide
if ( $_POST['comment' . $i] != "" ) {
// On l'ajoute dans le tableau
$comment[$j] = htmlspecialchars(mysql_escape_string($_POST['comment' . $i]));
// On passe à la case suivante du tableau
$j++;
}
}
Je poste mon code si ça peut aider quelqu'un ... =)
// Recherche du maximum pour la boucle pour
// On initialise le maximum
$max = 0;
// On recherche parmis toutes les valeurs postées
foreach($_POST as $key=>$val) {
// On les coupe avec "comment"
$keys_part = split("comment", $key);
// Si c'est bien sous la forme comment + i
if ( sizeof($keys_part) > 1 and $keys_part[1] > $max ) {
// Le maximum est initialisé avec ce i
$max = $keys_part[1];
}
}
// On récupère les résultats dans un tableau
$j = 0;
// On fait une boucle sur tous les comments
for ( $i = 0 ; $i < ($max + 1) ; $i++ ) {
// Si le comment n'est pas vide
if ( $_POST['comment' . $i] != "" ) {
// On l'ajoute dans le tableau
$comment[$j] = htmlspecialchars(mysql_escape_string($_POST['comment' . $i]));
// On passe à la case suivante du tableau
$j++;
}
}