Fin de boucle
Résolu/Fermé7 réponses
totofrancois
Messages postés
398
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
2 août 2013
44
27 févr. 2010 à 14:23
27 févr. 2010 à 14:23
bonjour
pourquoi tu ne fai pas un unique formulaire ?
avec un code du genre :
pour tout mes fichier faire add
pourquoi tu ne fai pas un unique formulaire ?
avec un code du genre :
pour tout mes fichier faire add
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
27 févr. 2010 à 15:25
27 févr. 2010 à 15:25
Salut,
Ton pb vient du fait que tu inclus le formulaire et le bouton d'envoi dans la boucle alors que finalement la boucle ne doit concerner que tes champs texte. Le tout est de sortir ton formulaire et le bouton d'envoi de la boucle :
<? $rep = "app/a/";
$dir = opendir($rep);
function dd($date) {
return date("d/m/Y H:i:s",$date);
}
?>
<html>
<form method="POST" action="add.php">
<?php
while ($f = readdir($dir)) {
if(is_file($rep.$f)) {
?>
<center>
<input type="text" name="nom" size="20" value="<? echo "".$f; ?>" maxlength="35">
<input type="text" name="poids" size="20" value="<? echo "".filesize($rep.$f); ?>" maxlength="70">
<input type="text" name="date" size="20" value="<? echo "".dd(filemtime($rep.$f)); ?>" maxlength="70">
<?php
}
}
?>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
</html>
<?php
closedir($dir); ?>
cdlt
IC
Ton pb vient du fait que tu inclus le formulaire et le bouton d'envoi dans la boucle alors que finalement la boucle ne doit concerner que tes champs texte. Le tout est de sortir ton formulaire et le bouton d'envoi de la boucle :
<? $rep = "app/a/";
$dir = opendir($rep);
function dd($date) {
return date("d/m/Y H:i:s",$date);
}
?>
<html>
<form method="POST" action="add.php">
<?php
while ($f = readdir($dir)) {
if(is_file($rep.$f)) {
?>
<center>
<input type="text" name="nom" size="20" value="<? echo "".$f; ?>" maxlength="35">
<input type="text" name="poids" size="20" value="<? echo "".filesize($rep.$f); ?>" maxlength="70">
<input type="text" name="date" size="20" value="<? echo "".dd(filemtime($rep.$f)); ?>" maxlength="70">
<?php
}
}
?>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
</html>
<?php
closedir($dir); ?>
cdlt
IC
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
28 févr. 2010 à 17:49
28 févr. 2010 à 17:49
Salut,
je comprend pas trop... le bouton submit doit poster normalement ton formulaire. Par contre je ne sais pas ce qu'il transmet si tous les champs ont le même nom. Si j'ai bonne mémoire tu peux poster un tableau contenant la valeur de chaque champ qui porte le même nom si tu écris le nom du champ suivi de [] pour indiquer qu'il s'agit d'un tableau. Et ta méthode POST récupère alors des tableaux qu'il faut parcourir pour obtenir les données.
Cdlt
IC
je comprend pas trop... le bouton submit doit poster normalement ton formulaire. Par contre je ne sais pas ce qu'il transmet si tous les champs ont le même nom. Si j'ai bonne mémoire tu peux poster un tableau contenant la valeur de chaque champ qui porte le même nom si tu écris le nom du champ suivi de [] pour indiquer qu'il s'agit d'un tableau. Et ta méthode POST récupère alors des tableaux qu'il faut parcourir pour obtenir les données.
Cdlt
IC
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j ai essayé mis les [] dans le codes du coup ca me stoque "array" dans la base :-/ je vais chercher encore merci pour l'aide en tous cas
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
28 févr. 2010 à 18:11
28 févr. 2010 à 18:11
Oui c normal.
En fait, cote PHP, il faut parcourir chaque tableau :
un truc du genre :
foreach ($_POST as $key => $valeur)
{
if(is_array($valeur)
{
foreach ($valeur as $cle => $donnee)
{
//ton traitement
echo $cle . ' : ' . $donnee . '<br>';
}
}
else
{
echo $key . ' : ' . $valeur . '<br>';
}
}
sinon si tu veux avoir une vue directe de à quoi ressemble ton $_POST, tu peux utiliser :
echo '<pre>';
print_r($_POST);
echo '<pre>';
Cdlt
IC
En fait, cote PHP, il faut parcourir chaque tableau :
un truc du genre :
foreach ($_POST as $key => $valeur)
{
if(is_array($valeur)
{
foreach ($valeur as $cle => $donnee)
{
//ton traitement
echo $cle . ' : ' . $donnee . '<br>';
}
}
else
{
echo $key . ' : ' . $valeur . '<br>';
}
}
sinon si tu veux avoir une vue directe de à quoi ressemble ton $_POST, tu peux utiliser :
echo '<pre>';
print_r($_POST);
echo '<pre>';
Cdlt
IC
27 févr. 2010 à 18:27