Upload d'image rebel

Signaler
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008
-
Messages postés
11
Date d'inscription
mercredi 22 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2008
-
Bonjour tout le monde

Je suis débutante en code (aussi bien en php que les autres) et je suis dans une grosse galère. Je vais essayer d'expliquer le plus clairement possible..

Voilà: je fais un stage en ce moment, et je dois créer un site (bon jusque là, c'est normal ^^)
Sauf que dois faire une administration à ce site. Le commanditaire voudrait pouvoir changer ses photos grace à l'admin. En tout, il y a environ 230 images...énorme! Je me suis dit que ça allait être trop violent de faire une base de donnée avec toutes ces images, alors je me suis contenté de mettre uniquement les url des images (en plaçant les images dans le même dossier)
Bon, ça, ça fonctionne. J'ai aussi réussi à faire l'affichage des images en question.
Mon problème vient au moment de la modification dans l'admin. J'ai réussi à faire en sorte que la base de donnée change l'url quand on sélectionne une image, mais c'est l'upload qui se rebelle.
Le code d'upload que j'ai tapé fonctionne très bien quand il est à part (je l'ai tenté en dehors du contexte) mais une fois intégré dans mon site, ça veut pas.

mon print_r me note:
Array
(
    [image1] = > Array
        (
            [name] => mon_image.jpg
            [type] => image/jpeg
            [tmp_name] => C:/Program Files/EasyPHP 2.0b1\tmp\php4FF.tmp
            [error] => 0
            [size] => 21366
        )

)
ça, ça va je crois (lol)
mais sur le reste de la page, voilà ce que ça affiche:
Notice : Undefined index: image in C:\Program Files\EasyPHP 2.0b1\www\site\upload.php on line 29
Notice: Undefined index: image in C:\Program Files\EasyPHP 2.0b1\www\\site\upload.php on line 31
Notice: Undefined index: image in C:\Program Files\EasyPHP 2.0b1\www\\site\upload.php on line 33

Pourtant comme je l'ai dit tout à l'heure, pour ma tentative en dehors de ce site, l'upload fonctionne parfaitement...

voici le code de l'upload:
<?php
$dossier = 'images/';
$fichier = basename($_FILES['image']['name']);   [ligne 29, c'est ce image qui va pas]
$taille_maxi = 1000000;
$taille = filesize($_FILES['image']['tmp_name']);   [ligne 31, idem]
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.bmp', '.JPG');
$extension = strrchr($_FILES['image']['name'], '.');   [ligne 33... bah idem aussi]
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}    
  ?>

Voilà... bon, j'ai repéré où était le problème, mais je ne comprends pas comment je peux le corriger... j'ai cherché pendant un bon moment sur les forums, mais je ne trouve pas ma réponse
Si quelqu'un peut m'aider, ça serait vraiment génial
merci d'avance

10 réponses

Messages postés
338
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 janvier 2011

Bonjour,

Ton print_r te ressort un index : image1 et dans t'es lignes qui ne vont pas tu met image... Ne penses tu pas que si tu rajoute le 1 ca marcherais mieux?

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
$fichier = basename($_FILES['image']['name']);


$fichier = basename($_FILES['image1']['name']);




et ce pour les lignes indiquées

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie


 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008

Oh mon dieu!! c'était ça! mdr! je me doutais bien que c'était une erreur débile!(c'est ma spécialité!lol!)
Merci beaucoup! ça me débloque bien!!
Mais ça veut dire que je dois remettre tout le code pour chacunes de mes images??? ouaaarf
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008

heu pourquoi ça a écrit aussi gros???lol (désolée on dirait que je crie)
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008

Salut! c'est encore moi! en fait, le problème n'est pas encore tout à fait résolu... j'ai encore besoin d'aide...

En fait, je crois que le code de l'upload et le code de l'update entrent en conflit...
j'ai testé:
j'ai un formulaire dont l'action arrive sur une page contenant les deux codes (bon, je pense que c'est logique)

mais si je place le enctype='multipart/form-data' dans la balise <form> , seul l'upload fonctionne et ma base de donnée n'est pas mise à jour.
si je place le enctype='multipart/form-data' dans la balise , seule la base de donnée est mise à jour, et l'upload ne fonctionne pas.
et si je fais ma folle et que je met le enctype='multipart/form-data' partout, seul l'upload fonctionne...

et bien sur, dans tous les cas, je retrouve sur la page:
Undefined index: image1 in C:\Program Files\EasyPHP 2.0b1\www\site....

que faire? pouvez-vous m'aider??
merci d'avance
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008

Bonjour
Personne ne peut m'aider? Je ne suis quand même pas la seule à avoir fait une administration où la base de donnée images est faite avec les url des images?? je ne pense pas avoir inventé quoi que ce soit
S'il vous plait, pouvez-vous me dire comment vous vous y prendriez pour que l'utilisateur puisse faires ses modifications?
merci d'avance.
Messages postés
11
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
15 mai 2008

Personne??
Messages postés
11
Date d'inscription
mercredi 22 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2008

Salut tout le monde,



Je suis Technicien supérieur en informatique et NTIC



j'ai pris ma formation ici au maroc
merci
Messages postés
11
Date d'inscription
mercredi 22 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2008

je veux faire modifier image dans form php mysql
Messages postés
11
Date d'inscription
mercredi 22 novembre 2006
Statut
Membre
Dernière intervention
5 mai 2008

probleme avec upload image modifier mais j'ai que le nom de l'image sur la table merci de m'aider