Upload d'image rebel

Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008 - 30 avril 2008 à 16:07
cs_abdointic1 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 19:26
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

faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
30 avril 2008 à 16:16
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 !
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
30 avril 2008 à 16:18
$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
0
Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008
30 avril 2008 à 16:36
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
0
Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008
30 avril 2008 à 16:38
heu pourquoi ça a écrit aussi gros???lol (désolée on dirait que je crie)
0

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

Posez votre question
Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008
30 avril 2008 à 19:18
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
0
Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008
1 mai 2008 à 14:03
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.
0
Ashada Messages postés 11 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 15 mai 2008
1 mai 2008 à 23:41
Personne??
0
cs_abdointic1 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 19:23
Salut tout le monde,



Je suis Technicien supérieur en informatique et NTIC



j'ai pris ma formation ici au maroc
merci
0
cs_abdointic1 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 19:24
je veux faire modifier image dans form php mysql
0
cs_abdointic1 Messages postés 11 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 19:26
probleme avec upload image modifier mais j'ai que le nom de l'image sur la table merci de m'aider
0
Rejoignez-nous