Page 1 sur 1
Probleme avec $_FILES
Posté : 10 févr. 2006, 11:15
par Paolo 4
Bonjour,
Voila j'ai une erreur sur cette ligne :
Undefined index: image in c:\program files\easyphp1-7\www\sitespip\ajout_com.php on line 71
d'ou cela peut il venir ?
Merci
Posté : 10 févr. 2006, 11:52
par Ryle
Vraissemblablement du fait qu'il n'y ait pas de clé 'image' dans ton tableau $_FILES
La fonction print_r() te permet d'afficher joliement le contenu du tableau, ça te permettra de voir ce qu'il contient et te donnera sans doute plus de précision sur l'origine de l'erreur :
echo '<pre>';
print_r($_FILES);
echo '</pre>';
Posté : 10 févr. 2006, 11:55
par Invité
Oui, tu as raison, j'ai fai ce que tu m'a donné, et dans mon tableau il n'y a rien,
Array
(
)
Pourtant dans mon form j'ai bien :
<input type="file" name="image" size="30">
Posté : 10 févr. 2006, 11:58
par zeus
Est-ce que le champ est rempli ? Est-ce que le formulaire est validé ?
Si ce n'est pas le cas, ton $_FILES ne sera pas rempli

Posté : 10 févr. 2006, 12:02
par Paolo 4
J'ai ajouté cette ligne dans mon form : ENCTYPE="multipart/form-data
Maitenant il me donne ces erreurs :
Warning: move_uploaded_file(/im_article/Coeur de ville.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\sitespip\ajout_com.php on line 81
Warning: move_uploaded_file(): Unable to move 'C:\Program Files\EasyPHP1-7\tmp\phpF5.tmp' to '/im_article/Coeur de ville.jpg' in c:\program files\easyphp1-7\www\sitespip\ajout_com.php on line 81
c'est raté

Posté : 10 févr. 2006, 12:03
par zeus
Est-ce que tu peux nous donner un peu plus de code ? La partie qui déplace ton fichier uploadé surtout
Posté : 10 févr. 2006, 12:06
par Invité
Voila :
<?
include "connexion.php";
$image=$_FILES['image']['tmp_name'];
$nom_sec = $_POST['nom_sec'];
$nom_com = $_POST['nom_com'];
$desc_com = $_POST['desc_com'];
//copie du fichier .jpg
$dossier_dest = '/im_article/';
if(move_uploaded_file($image,$dossier_dest.$nom_com.'.jpg'))
echo "image conservée";
else
echo "c'est raté";
$req1 = mysql_query("SELECT id_secteur FROM tb_secteur WHERE nom_secteur ='$nom_sec'") or die ("erreur req ".mysql_error());
$sql1 = mysql_fetch_array($req1);
$nomsec=$sql1["id_secteur"];
if(!get_magic_quotes_gpc())
{
$nom_com = addslashes($nom_com);
$desc_com = addslashes($desc_com);
}
$sql = "INSERT INTO tb_communaute (nom_com, desc_com, id_secteur) VALUES('" . $nom_com . "','" . $desc_com . "','".$nomsec."')";
$res = mysql_query($sql) or ("Erreur dans ta requête".mysql_error());
// déconnection avec MySQL
mysql_close();
?>
Posté : 10 févr. 2006, 12:10
par zeus
Il en faut pas que les noms des fichers contiennent des espaces
Il faut que tu vérifie les noms des fichiers et que tu remplaces les noms des fichiers par autre chose, _ par exemple
Posté : 10 févr. 2006, 12:19
par Invité
Ca y est j'ai trouvé :
c'est parce qu'avec le chemin que j'ai indiqué il cherche a placer le fichier a la racine... de mon disque.
Il te suffit de supprimer le premier / dans mon move pour faire du chemin relatif.
Voila
Merci à tous !
