Ma page html
<!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>
Ensuite ma classe classeDeamnde.php<?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 !';
}
}
}
}
?>
Et pour finir ma page php qui va effectuer la requete ajouterDemande.php
<?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() ;
?>
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 beaucoup