Prob boucle et nom

croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010 - 23 févr. 2007 à 13:36
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 24 févr. 2007 à 08:32
Bonjour!

Voila j'ai voulu faire un truc tout con, mais je dois me tromper quelquepart :

    for (var i=1; i<5; i++) {
        if (document.modif.fichier[i].value != "") {
            document.modif.img[i].value = "oui";
        }
        else {
            document.modif.img[i].value = "non";
        }
    }
...
...

J'ai 4 input file comme ça, mais avec cette fonction, il ne me prend pas les valeurs de fichier[1], il me dit que document.modif.fichier a la valeur null ou n'est pas objet.

Si qqun peut m'éclairer

Merci d'avance!

11 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 14:48
Bonjour,

je suppose qu'il y a ficher[1], fichier[2]...
mets le même name. fichier

...

s'il faut qu'ils aient [ ] ( dans le name pour un array php, sinon aucun intéret !!! )


...
for (var i=1; i<document.modif["fichier[]"].length; i++) {
        if (document.modif["fichier[]"][i].value != "") {





<hr />



Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
23 févr. 2007 à 15:51
Ca a l'air de fonctionner, mais pas lors de la recuperation de la valeur en php :

$name_file = $_FILES['fichier'.$i]['name'];

J'ai mis ça :
for (var i=0; i<document.modif["fichier"].length; i++) {
        if (document.modif["fichier"][i].value != "") {
            document.modif["img"][i].value = "oui";
        }
        else {
            document.modif["img"][i].value = "non";
        }
    }

Mais ce ne doit pas être document.modif["fichier"][i].value pour que php cherche fichier1 avec ce que j'ai mis php cherche fichier[1] non?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 16:02
for (var i=0; i<document.modif["fichier[]"].length; i++) {




    coté php, pour vérifier : print_r ($_POST["fichier"]);
    ça doit baigner...
   
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 16:07
j'ai retrouvé mes notes coté php :

<?php
foreach ($_FILES["fichier"]["error"] as $key => $error)
{
   if ($error == UPLOAD_ERR_OK)
    {
       $tmp_name = $_FILES["fichier"]["tmp_name"][$key];
       $name = $_FILES["fichier"]["name"][$key];
       move_uploaded_file($tmp_name, "data/$name");
   }
}
?>

ou pas loin, à tester
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0

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

Posez votre question
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
23 févr. 2007 à 16:15
Document.modif.fichier[].length a la valeur null ou n'est pas objet :/

Cote php j'ai une boucle aussi:

for ($i= 1; $i<5; $i++) {
    if ($_POST['img'.$i] == "oui") {
        $content_dir = 'references/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES['fichier'.$i]['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
    exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file = $_FILES['fichier'.$i]['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
    exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier'.$i]['name'];

if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
    exit("Impossible de copier le fichier dans $content_dir");
}

$camera[$i]="
";

    }
    elseif ($_POST['img'.$i] == "non") {
        $camera[$i] = "";
    }
}
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 16:31
faut respecter la syntaxe...
   

for (var i=0; i<document.modif["fichier
[]
"].length; i++) {

et pour php, si soucis, voir chez phpcs.com, ce sera plus mieux.


<hr />



Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 16:33
attention aux espaces en trop...
for (var i=0; i<document.modif["fichier[]"].length; i++) {
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
23 févr. 2007 à 16:38
C'est exactement ce que j'ai mis!

  for (var i=0; i<document.modif["fichier[]"].length; i++) {
        if (document.modif["fichier"][i].value != "") {
            document.modif["img"][i].value = "oui";
        }
        else {
            document.modif["img"][i].value = "non";
        }
    }
...
...

...
...

...
...

etc

J'ai pas de soucis en php

Juste en js :/, je voudrais jsute avoir fichier1, img1, fichier2, img2...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 févr. 2007 à 16:47
>>

C'est exactement ce que j'ai mis!



ben oui... mais ce n'est pas  ce que tu disais     >> Document.modif.fichier[].length

                mais dans les name ????    fichier[] à la place de fichier , non ?
>>J'ai pas de soucis en php
    ah ??? j'avais cru comprendre : >>...mais pas lors de la recuperation de la valeur en php
    tant mieux alors.
<hr />
Cordialement            Bul         [mon Site]     [M'écrire]  

<hr />
0
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
23 févr. 2007 à 17:00
Ben oui le soucis en php c'est qu'il recupere la valeur de document.modif.fichier1 et document.modif.fichier[1]

le fait de mettre le name a fichier[] me donner fichier1 ou fichier[1] ??
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 févr. 2007 à 08:32
le plus simple c'est d'essayer.
regardes l'exemple fourni.
le fait de mettre des [] dans les name envoie un array au php.
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
0
Rejoignez-nous