Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[PHP] incrémentation de $_POST[] ...

Erdnax, le vendredi 29 juillet 2005 à 11:05:58
Bonjour à tous,

Alors voilà mon problème. J'aimerais dans un script php récupérer des variables transmises par formulaire par la méthode POST. Mon problème provient du fait que le formulaire ne possède pas un nombre de champ définis. Il se trouve dans une boucle et donc pour chaque enregistrement de ma base de données un certain nombre de champs est généré.

Les noms des différents champs sont les même (img1, cat_id1, etc...), à part le dernier numéro qui s'incrémente au fur et à mesure de la page.

Alors mon problème, est-il possible de récupérer chaque champ dans une boucle php par la méthode POST et rajoutant au nom de variable le numéro adéquat ? Par exemple (non fonctionnel...) :
$nb = $_POST['nb']; //nombre d'enregistrements
$i = 1 ;

while ($i < $nb){

$img = $_POST['img'.$i];
$cat_id = $_POST['cat_id'.$i];
}
D'avance merci à ceux qui pourront m'aider et/ou trouver des solutions alternatvies ;)
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kilian, le vendredi 29 juillet 2005 à 13:02:33
Salut,

Tout paraît bon, mais $img et$cat_id sont sans cesse ecrasés par leur valeur suivante (exemple: $img sera égal à $_POST['img1'] puis après sera égal à $_POST['img2'].

Donc utilise un tableau:
while ($i < $nb){

          $img[$i] = $_POST['img'.$i];
          $cat_id[$i] = $_POST['cat_id'.$i];
}
Répondre à kilian

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Erdnax, le vendredi 29 juillet 2005 à 13:22:00
En fait c'est égal que les variables soient automatiquement écrasée ou non. Elles sont tout de suite traitée, puis après sont inutiles donc pas d'importance.

Par contre, tu peux me confirmer que la méthode $_POST[] accepte que l'on lui balance des variable ? ('cat_id'.$i)

@+
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kilian, le vendredi 29 juillet 2005 à 13:28:45
Oui, comme l'index d'un tableau est une chaine :
=> $tableau ['chaine']
...tu peux parfaitement faire un travail sur cette chaine comme tu le fais avec la concatenation.

Vérifie d'abord que ton post possède vraiment ces index.
Fais un echo sur tes $_POST['img'.$i] dans ta boucle, comme ça tu verras bien...
Répondre à kilian

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Erdnax, le vendredi 29 juillet 2005 à 13:36:22
Bon, alors voilà mon code :

$nb = $_POST['nb'];
$i = 1;

while ($i < $nb){

$img      = $_POST['img'.$i];
$cat_id   = $_POST['cat_id'.$i];
$comm     = $_POST['comm'.$i];
$i++;

$requete = "UPDATE images SET cat_id='$cat_id', img='$img', comm='$comm', susp='false' WHERE img='$img'";
mysql_query($requete);

echo 'Cat_id : '.$cat_id."<br>\n";
echo 'Img : '.$img."<br>\n";
echo 'Comm : '.$comm."<br>\n";


}
echo 'Les données ont bien été enregistrées.<br>'."\n";
Le truc, c'est que ma table n'est pas mise à jour, et que mes echo ne donnent rien...

Pourtant mon formulaire fonctionne, car lorsque je traite image par image (sans la boucle, avec des données fixes) cela marche.

Donc d'où vient mon bug ?

EDIT : la seule chose qui s'affiche est mon "Les données ont bien été enregistrées".
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kilian, le vendredi 29 juillet 2005 à 13:50:57
Alors peut être un soucis avec $_POST['nb']
Tu as vérifié s'il avait une valeur?
Répondre à kilian

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Erdnax, le vendredi 29 juillet 2005 à 14:01:14
Malheureusement oui, nb a non seulement une valeur, et en plus elle est juste :P ;) (_..:: P'tit Suisse ::.._)
Répondre à Erdnax

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
kilian, le vendredi 29 juillet 2005 à 14:06:44
Et quand tu essaies
echo $_POST['img'.$i]
Ca ne donne rien?

C'est dans une fonction tout ça ou c'est global?
Répondre à kilian

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Erdnax, le vendredi 29 juillet 2005 à 14:09:50
C'est global... c'est pour ça que j'ai posté ici, je comprends pas pourquoi ça ne marche pas... Mais je vais continuer à faire des test ce soir.
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Erdnax, le samedi 30 juillet 2005 à 01:08:19
Tu vas rire (j'espère ^^) c'est juste une faute toute simple, en faite ma variable nb était envoyée par un champdisabled, donc en fait pas transmise...

Alors tout ça partait d'une erreur stupide, mais là c'est bon, j'ai trouvé et tout fonctionne à merveille. Donc merci pour ton aide et @+ ;)
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 kilian, le samedi 30 juillet 2005 à 09:09:00
Ok :-)
Répondre à kilian

Résultats pour [PHP] incrémentation de $_POST[] ...

Count défectueux PHP/MYSQL (Résolu) Bonjour, voilà je récupère une variable et j'utilise pour l'affichage un système de page et je travaille sur 2 tables en même temps. Mon code: www.commentcamarche.net/forum/affich-7796007-count-defectueux-php-mysql
PHP / Erreur mais ou .. ? (Résolu) Bonjour, ce code est defaillant.. j'obtient une page blanche mais je ne retrouve pas ou peut etre mon erreur. pouvez vous m'aider sil vous plait ? www.commentcamarche.net/forum/affich-7359688-php-erreur-mais-ou

Résultats pour [PHP] incrémentation de $_POST[] ...

[PHP] Notice: Undefined index:Si vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line... www.commentcamarche.net/faq/sujet-1391-php-notice-undefined-index
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or

Résultats pour [PHP] incrémentation de $_POST[] ...

[PHP]pb affichage avec echo (Résolu)bonjour à tous, mon problème est très simple, je comprends pas pourquoi il veut pas afficher ces quelques lignes (celles en gras les 2autres s'affiche et sont correctes) www.commentcamarche.net/forum/affich-2240209-php-pb-affichage-avec-echo
Passage de variable php en url (Résolu)Bonjour, J'ai une variable php : $variable Je veux l'envoyer par url a une autre page en utilisant javascript, comme ça: www.commentcamarche.net/forum/affich-9113523-passage-de-variable-php-en-url

Résultats pour [PHP] incrémentation de $_POST[] ...

Télécharger PHP EditPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des... www.commentcamarche.net/telecharger/telecharger-62-php-edit

Résultats pour [PHP] incrémentation de $_POST[] ...

Les structures conditionnelles avec PhpQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1... www.commentcamarche.net/contents/php/phpcond.php3
PHP - Les opérateursQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs... www.commentcamarche.net/contents/php/phpop.php3
PHP - Introduction à la programmation avec PHPQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La... www.commentcamarche.net/contents/php/phpintro.php3