Bonjour, voici mon problème le souci c' est que je ne sais pas comment uploader des fichiers et des textes dans un meme formulaire Voici mes codes:
Ma page html
Ensuite ma classe classeDeamnde.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <!DOCTYPE html> <html> <head> <title> Demande de remboursement </title> </head> <body> <header><h1> Faire une demande de remboursement </h1></header> <p> <form name="formAjouter" action="ajouterDemande.php" method="post"> Informations <li>Date de trajet <input type="date" name="datetrajet" placeholder="Date de trajet"></li> <li>Ville de départ <input type="text" name="villedepart" placeholder="Ville de départ"></li> <li>Ville d' Arrivée <input type="text" name="villearrivee" placeholder="Ville d' Arrivée"></li> <li>Puissance administrative <input type="text" name="puissance" placeholder=" Chevaux Fiscaux ">Chevaux</li> <li>Motorisation <input type="text" name="motorisation" placeholder="Ex: Essence, Gazole... "></li> <li>Péage <input type="text" name="peage" placeholder="Montant du Péage">Euros</li> <br> Formulaire d'envoi de fichier :<br/> <input type="file" name="avatar"/><br/> </p> <input type="reset" name="reset" value="Réinitialiser"> <input type="submit" name="valider" value="Valider"> </form> </body> </html>
Et pour finir ma page php qui va effectuer la requete ajouterDemande.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <?php require_once 'accesBDD.php'; class Prestation{ private $_datetrajet; private $_villedepart; private $_villearrivee; private $_puissance; private $_motorisation; private $_peage; private $_fichier; private $_chemin; private $_sqlAjouter; private $_reqAjouter; private $_sqlAjouter1; private $_reqAjouter1; private $_sqlAjouter2; private $_reqAjouter2; public function __construct($datetrajet, $villedepart, $villearrivee, $puissance, $motorisation, $peage){ // je construis mon objet en faisant une requête dans ma base de données // puis en affectant les résultats de la requête aux champs de mon objet $this->_datetrajet = $datetrajet; $this->_villedepart = $villedepart; $this->_villearrivee = $villearrivee; $this->_puissance = $puissance; $this->_motorisation = $motorisation; $this->_peage = $peage; } public function ajouterInfos($BDD){ $this->_sqlAjouter1 = 'INSERT INTO demandederemboursement(datetrajet, villedepart, villearrivee, puissance, motorisation, peage) VALUES(:datetrajet, :villedepart, :villearrivee, :puissance, :motorisation, :peage)'; $this->_reqAjouter1 = $BDD->getConnexion()->prepare($this->_sqlAjouter1); $this->_reqAjouter1->execute(array( 'datetrajet' => $this->_datetrajet, 'villedepart' => $this->_villedepart, 'villearrivee' => $this->_villearrivee, 'puissance' => $this->_puissance, 'motorisation' => $this->_motorisation, 'peage' => $this->_peage ) ); } public function ajouterJustificatif($BDD){ if (isset($_FILES['avatar'])) { //stockage des fichiers uploader dans le dossier upload $chemin = 'upload/'; //définition du fichier $fichier = basename($_FILES['avatar']['name']); //copie du fichier uploader dans le répertoire définie précedemment if (move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin . $fichier)){ //Si la fonction renvoie TRUE, c'est que ça a fonctionné... $this->_sqlAjouter2 = 'INSERT INTO demandederemboursement(nom, chemin) VALUES(:toto, :titi )'; $this->_reqAjouter2 = $BDD->getConnexion()->prepare($this->_sqlAjouter2); $this->_reqAjouter2->execute(array(':toto' => $fichier, ':titi' => $chemin)); echo 'Upload effectué avec succès !'; // on affiche l' image // echo $fichier; // echo "Affiche image : <img src=upload/$fichier>\n"; } else{ //Sinon (la fonction renvoie FALSE). echo 'Echec de l\'upload !'; } } } } ?>
Mon souci est que mes texte s' enregistre bien dans ma bdd mais pas mon upload si vous pouvez m' aider, ce serait sympa merci beaucoupCode:
1
2
3
4
5
6
7
8
9
10 <?php require_once 'accesBDD.php'; require_once 'ClasseDemande.php'; $connectBDD = new AccesBDD('root', ''); $connectBDD->connexion(); $newPrestation = new Prestation($_POST['datetrajet'], $_POST['villedepart'], $_POST['villearrivee'], $_POST['puissance'], $_POST['motorisation'], $_POST['peage']); $newPrestation->ajouterInfos($connectBDD); $newPrestation->ajouterJustificatif($connectBDD); $connectBDD->deconnexion(); ?>