Ashada
Messages postés11Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention15 mai 2008
-
30 avril 2008 à 16:07
cs_abdointic1
Messages postés11Date d'inscriptionmercredi 22 novembre 2006StatutMembreDerniè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.
)
ç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
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDerniè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 !
Ashada
Messages postés11Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention15 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
Ashada
Messages postés11Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention15 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....
Ashada
Messages postés11Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention15 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.