[RESOLU] Impossible de récupérer des images par la méthode GET

Eléphant du PHP | 65 Messages

14 déc. 2021, 23:12

Bonjour,
Au départ ça marchait bien.
En fait quand mon formulaire était en méthode POST, les images apparaissaient dans la bdd, mais en changeant la méthode par get, j'ai l'erreur suivante pour toutes les images:
Undefined index: img1
Mes fonctions marchent très bien. C'est donc en changeant de méthode par get.

Code : Tout sélectionner

function savePhoto($id_annonce,$file,$location){ if(empty($file)){ echo "<br> ERREUR : Aucune image n'est envoyées pour l'upload"; var_dump($_FILES); // juste pour le debug... return false; //pas d'image } $photo = $file['name']; $photo_tmp = $file['tmp_name']; if(move_uploaded_file($photo_tmp,$location.$photo)){ return insertPhoto($id_annonce,$location.$photo); } } function insertPhoto($id_annonce,$photo){ global $bdd; $sql= "INSERT INTO images_annonces(id_annonce,filepath) VALUES(?,?)"; $datas= array($id_annonce,$photo); //Execution de la requete try{ //Execution pour la deuxième table $requete2 = $bdd -> prepare($sql) ; return $requete2->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } }
L'erreur commence à partir de là:

Code : Tout sélectionner

if(isset($_GET['formannonce'])) { $img1 = ($_FILES['img1']); $img2 = ($_FILES['img2']); $img3 = ($_FILES['img3']); $img4 = ($_FILES['img4']); $img5 = ($_FILES['img5']); //suite

Mammouth du PHP | 2703 Messages

14 déc. 2021, 23:18

https://www.php.net/manual/fr/reserved. ... .files.php
"Un tableau associatif des valeurs téléchargées au script courant via le protocole HTTP et la méthode POST."

Eléphant du PHP | 65 Messages

15 déc. 2021, 00:44

Salut or1, Je n'ai pas bien compris, parce je suis en méthode GET. Donc $_FILES marche uniquement pour POST? Si oui, par quel autre variable le remplacer?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

15 déc. 2021, 08:50

Donc $_FILES marche uniquement pour POST?
Oui
Si oui, par quel autre variable le remplacer?
Et bah il faut que tu repasses ton formulaire en POST si tu veux de l'upload de fichiers
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 65 Messages

16 déc. 2021, 16:47

Pas le choix alors, c'est donc l'unique méthode qui a pu marché. Merci @rthur et or1 :)