UPDATE du lien d un fichier

Petit nouveau ! | 8 Messages

14 févr. 2008, 18:36

Bonjour a tous,

je cherche a mettre a jour ma bd via un formulaire pour modifier un lien vers un fichier.

Mon code ressemble a ca :
if(isset($_POST['boninter']))      $boninter=$_POST['boninter'];
else      $boninter="";

$nouveau_chemin = 'C:/Program Files/EasyPHP 2.0b1/www/optima/images/'; 
move_uploaded_file($_FILES['boninter']['tmp_name'], $nouveau_chemin.$_FILES['boninter']['name']); 
$newboninter = $_FILES['boninter']['name'];
Seulement voila il m affiche :
Notice: Undefined index: boninter in C:\Program Files\EasyPHP 2.0b1\www\optima\modificheitc.php on line 45

Notice: Undefined index: boninter in C:\Program Files\EasyPHP 2.0b1\www\optima\modificheitc.php on line 45

Notice: Undefined index: boninter in C:\Program Files\EasyPHP 2.0b1\www\optima\modificheitc.php on line 46


Pourtant un echo sur ma variable $boninter me renvoie la bonne valeur.

Merci d avance

d0m
Mammouth du PHP | 1141 Messages

15 févr. 2008, 09:47

Premièrement c'est bien de mettre les messages d'erreur, mais , bien que là on devine facilement, indique nous quelles sont les lignes 45 et 46... on n'a pas tout ton code.

Pour ton problème il me semble que tu t'emmêles un peu les pinceaux.

PHP ne trouve pas l'élément $_FILES['boninter'], ton champ boninter est il bien un champ de type file?

Petit nouveau ! | 8 Messages

15 févr. 2008, 09:52

salut,

alors la ligne 45 et 46 :
move_uploaded_file($_FILES['boninter']['tmp_name'], $nouveau_chemin.$_FILES['boninter']['name']); 
$newboninter = $_FILES['boninter']['name'];
et effectivement mon champ boninter est bien de type file

d0m
Mammouth du PHP | 1141 Messages

15 févr. 2008, 10:01

vérifie le contenu de $files :
print_r($files);

Petit nouveau ! | 8 Messages

15 févr. 2008, 10:07

alors un : print_r($boninter); me renvoie bien l emplacement d origine du fichier
mais un : print_r($newboninter); me donne rien.

d0m
Mammouth du PHP | 1141 Messages

15 févr. 2008, 10:10

normal l'erreur dit :

Code : Tout sélectionner

Undefined index: boninter
Le tableau $_files ne contient pas apparement d'informations concernant le champ 'boninter'

affiche le contenu de $_files.

et peux tu donner le code de ton formulaire html?

Petit nouveau ! | 8 Messages

15 févr. 2008, 10:17

Oula comprend un beignet moi :?

mon formulaire html :
<form NAME="client_<?php echo $id;?>" method="POST" action="modificheitc.php">
<input type="hidden" /><input name="boninter" type="file" class="Style2" value="" size="19" /><br>
<input type="submit" value="envoyer" name="envoyer">
</form>
désolé comprend pas ton histoire de : print_r($files); il me renvoie une erreur comme quoi $files n existe pas normal non?

d0m
Mammouth du PHP | 1141 Messages

15 févr. 2008, 10:24

$_files est la variable d'environnement contenant les informations des fichiers téléchargés, un genre de $_POST pour les champ de type file seulement.

Erreur de ma part, c'était $_files et non $files

Ton problème vient de la balise du formulaire, quand il y a des champs de type file il faut ajouter en attribut : enctype="multipart/form-data"
<form NAME="client_<?php echo $id;?>" method="POST" action="modificheitc.php" enctype="multipart/form-data">

Petit nouveau ! | 8 Messages

15 févr. 2008, 10:28

Merci beaucoup me suis arrache les cheveux toute la journée d hier, vont pouvoir repousser un peu aujourd hui :wink:

Merci a tous et longue vie à phpfrance :)