par
godisadj » 07 mars 2019, 13:48
Bonjour,
Je suis coincé !!
J'ai un petit script d'upload PHP qui fonctionne sur une page test.php.
Voici le code.
<?php
if(isset($_FILES['proof']))
{
$total = count($_FILES['proof']['name']);
$piece_jointe = NULL;
for ($i=0; $i < $total ; $i++)
{
if(isset($_FILES['proof']['name'][$i]) AND !empty($_FILES['proof']['name'][$i])) {
$currentDir = getcwd();
$uploadDirectory = "/assets/images/pj/";
$fileExtensions = ['jpeg','jpg','png', 'gif', 'pdf', 'txt', 'doc', 'JPEG', 'JPG', 'PNG', 'GIF', 'PDF', 'DOC', 'TXT']; // Get all the file extensions
$fileName = $_FILES['proof']['name'][$i];
$fileSize = $_FILES['proof']['size'][$i];
$fileTmpName = $_FILES['proof']['tmp_name'][$i];
$fileType = $_FILES['proof']['type'][$i];
$fileExtension = pathinfo($fileName);
$fileExtension = $fileExtension['extension'];
if (! in_array($fileExtension,$fileExtensions)) {
$erreur = 'Le format du fichier '.$fileName.' n\'est pas autorisé. Veuillez réessayer avec un fichier de type PNG, JPG, GIF, PDF ou DOC.';
afficherErreur($erreur);
$stop = 1;
}
if ($fileSize > 5000000) {
$erreur = 'La taille du fichier ne doit pas excéder 5Mo. Veuillez réessayer avec un fichier plus léger.';
afficherErreur($erreur);
$stop = 1;
}
if (!isset($stop)) {
//On renomme le fichier avec un token unique
$token = base_convert(hash('sha256', time() . mt_rand()), 8, 36);
$fileName = $token.'.'.$fileExtension;
//On créé le chemin d'upload
$uploadPath = $currentDir . $uploadDirectory . basename($fileName);
$didUpload = move_uploaded_file($fileTmpName, $uploadPath);
$proof_OK = 1;
//Enfin on le nomme pour la BDD
$piece_jointe .= $fileName.',';
if ($didUpload) {
//Succès
} else {
$erreur = 'Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur.';
afficherErreur($erreur);
}
}
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
Upload a File:
<input type="file" name="proof[]" id="fileToUpload" multiple>
<button type="submit" name="create" value="Upload" >Yess</button>
</form>
Maintenant, je veux le faire marcher dans un formulaire plus large, avec d'autres paramètres.. Et ça ne fonctionne plus du tout ! Au moment de l'upload, l'erreur"Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur." apparait. Pourtant, le script ne remonte aucune erreur, sauf move_uploaded_file qui retourne FALSE. $_FILES['proof']['error'], retourne 0.
J'en peux plus, je n'arrive pas à voir ce qui diffère entre ces deux scripts, positionnés dans le même répertoire.
Voici le code qui ne fonctionne pas (dans la totalité) :
<?php
require_once('includes/config.php');
$title = 'Absence & Maladie';
include('includes/head.php');
include('includes/nav.php');
include('includes/ft.php');
?>
<!-- [ Main Content ] start -->
<div class="pcoded-main-container">
<div class="pcoded-wrapper">
<div class="pcoded-content">
<div class="pcoded-inner-content">
<!-- [ breadcrumb ] start -->
<div class="page-header">
<div class="page-block">
<div class="row align-items-center">
<div class="col-md-12">
<div class="page-header-title">
<h5 class="m-b-10"><?php echo $title; ?></h5>
</div>
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="index.php"><i class="feather icon-home"></i></a></li>
<li class="breadcrumb-item"><a href="javascript:"><?php echo $title; ?></a></li>
</ul>
</div>
</div>
</div>
</div>
<!-- [ breadcrumb ] end -->
<div class="main-body">
<?php
if(isset($_POST['create']))
{
//Le formulaire a bel et bien été envoyé
//On vérifie que tous les champs obligatoires sont renseignés
//On traite les données entrées par l'utilisateur
if(
isset($_POST['employee']) AND
isset($_POST['absence_type']) AND
isset($_POST['date_debut'])
)
{
//Les données obligatoires sont toutes OK, on les traite
$employee = $_POST['employee'];
$absence_type = $_POST['absence_type'];
$date_debut = UserToBddDate($_POST['date_debut']);
//On définit les champs non obligatoires par NULL
$date_fin = NULL;
$reason = NULL;
$proof_OK = 0;
//On traite les valeurs facultatives si elles existent
if(isset($_POST['date_fin'])) { $date_fin = UserToBddDate($_POST['date_fin']); }
if(isset($_POST['reason'])) { $reason = $_POST['reason']; }
// Enfin, on traite les données automatiques
$timestamp = time();
$planning_time = NULL;
$employee_time = NULL;
// TODO : MODIFIER PAR SESSION
$author_id = 1;
//Pièce jointe
if(!empty($_FILES['proof']))
{
$total = count($_FILES['proof']['name']);
$piece_jointe = NULL;
for ($i=0; $i < $total ; $i++)
{
if(isset($_FILES['proof']['name'][$i]) AND !empty($_FILES['proof']['name'][$i])) {
$currentDir = getcwd();
$uploadDirectory = "/assets/images/pj/";
$fileExtensions = ['jpeg','jpg','png', 'gif', 'pdf', 'txt', 'doc', 'JPEG', 'JPG', 'PNG', 'GIF', 'PDF', 'DOC', 'TXT']; // Get all the file extensions
$fileName = $_FILES['proof']['name'][$i];
$fileSize = $_FILES['proof']['size'][$i];
$fileTmpName = $_FILES['proof']['tmp_name'][$i];
$fileType = $_FILES['proof']['type'][$i];
$fileExtension = pathinfo($fileName);
$fileExtension = $fileExtension['extension'];
if (! in_array($fileExtension,$fileExtensions)) {
$erreur = 'Le format du fichier '.$fileName.' n\'est pas autorisé. Veuillez réessayer avec un fichier de type PNG, JPG, GIF, PDF ou DOC.';
afficherErreur($erreur);
$stop = 1;
}
if ($fileSize > 5000000) {
$erreur = 'La taille du fichier ne doit pas excéder 5Mo. Veuillez réessayer avec un fichier plus léger.';
afficherErreur($erreur);
$stop = 1;
}
if (!isset($stop)) {
//On renomme le fichier avec un token unique
$token = base_convert(hash('sha256', time() . mt_rand()), 8, 36);
$fileName = $token.'.'.$fileExtension;
//On créé le chemin d'upload
$uploadPath = $currentDir . $uploadDirectory . basename($fileName);
$didUpload = move_uploaded_file($fileTmpName, $uploadPath);
$proof_OK = 1;
//Enfin on le nomme pour la BDD
$piece_jointe .= $fileName.',';
if ($didUpload) {
//Succès
} else {
$erreur = 'Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur.';
afficherErreur($erreur);
var_dump($_FILES['proof']['error']);
}
}
}
}
}
if($proof_OK == 1)
{
//OK
}
else
{
$piece_jointe = NULL;
}
//Fin PJ
//Pas d'erreur, on enregistre
if(!isset($erreur)) {
//Enregistrement des données
$req = $bdd->prepare('INSERT INTO employee_reporting(
id,
author_id,
employee_id,
reporting_type,
begin_date,
end_date,
planning_time,
employee_time,
reason,
proof,
timestamp
) VALUES(
:id,
:author_id,
:employee_id,
:reporting_type,
:begin_date,
:end_date,
:planning_time,
:employee_time,
:reason,
:proof,
:timestamp
)');
$req->execute(array(
'id' => NULL,
'author_id' => $author_id,
'employee_id' => $employee,
'reporting_type' => $absence_type,
'begin_date' => $date_debut,
'end_date' => $date_fin,
'planning_time' => $planning_time,
'employee_time' => $employee_time,
'reason' => $reason,
'proof' => $piece_jointe,
'timestamp' => time()
));
//OK, on redirige vers un succès
$succes = 'Merci. Votre signalement a bien été enregistré.';
afficherSucces($succes);
}
}
else
{
$erreur = 'Les champs suivis du caractère * sont obligatoires.';
afficherErreur($erreur);
}
}
?>
<div class="page-wrapper">
<!-- [ Main Content ] start -->
<div class="row">
<!-- [ sample-page ] start -->
<div class="col-sm-12">
<!-- [ Main Content ] start -->
<div class="row">
<!-- [ Smart-Wizard ] start -->
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<h5>Signaler une absence ou un arrêt maladie</h5>
</div>
<div class="card-body">
<form id="validation-form123" action="#!" method="POST" enctype="multipart/form-data">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Employé(e) *</label>
<select class="js-example-basic-single form-control" name="employee" required>
<?php if(isset($erreur) AND isset($_POST['employee']))
{
$reponse_2 = $bdd->prepare('SELECT id, lastname, firstname FROM employees WHERE id = ?');
$reponse_2->execute(array($_POST['employee']));
$donnees_2 = $reponse_2->fetch();
echo '<option value="'.$_POST['employee'].'">'.$donnees_2['firstname'].' '.$donnees_2['lastname'].' ('.$donnees_2['id'].')</option>';
}
else
{
echo '<option value>Employé...</option>';
}
//Récupération de la liste des employés
$reponse_1 = $bdd->query('SELECT id, lastname, firstname FROM employees WHERE active = 1 ORDER BY lastname');
while ($donnees_1 = $reponse_1->fetch())
{
?>
<option value="<?php echo $donnees_1['id']; ?>"><?php echo $donnees_1['firstname'].' '.$donnees_1['lastname'].' ('.$donnees_1['id'].')'; ?></option>
<?php
}
$reponse_1->closeCursor();
?>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="radio d-inline">
<input type="radio" name="absence_type" value="2" id="radio-in-1"
<?php if(!isset($_POST['absence_type']) OR (isset($_POST['absence_type']) AND $_POST['absence_type'] == 2)) { ?>checked <?php } ?>>
<label for="radio-in-1" class="cr">Absence injustifiée</label>
</div>
</div>
<div class="form-group">
<div class="radio d-inline">
<input type="radio" name="absence_type" value="3" id="radio-in-2"
<?php if(isset($_POST['absence_type']) AND $_POST['absence_type'] == 3) { ?>checked <?php } ?>
>
<label for="radio-in-2" class="cr">Arrêt maladie</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Date du début de l'absence *</label>
<input type="text" class="form-control" name="date_debut" id="date" placeholder="JJ/MM/AAAA" value="<?php if(isset($erreur) AND isset($_POST['date_debut'])) { echo $_POST['date_debut']; } else { echo date("d/m/Y"); } ?>" required>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Date de fin de l'absence / de l'arrêt (si connue) :</label>
<input type="text" class="form-control" name="date_fin" id="date2" placeholder="JJ/MM/AAAA" value="<?php if(isset($erreur) AND isset($_POST['date_fin'])) { echo $_POST['date_fin']; } ?>">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Raison de l'absence / de l'arrêt :</label>
<textarea class="form-control" name="reason"><?php if(isset($erreur) AND isset($_POST['reason'])) { echo $_POST['reason']; } ?></textarea>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Justificatif ou arrêt maladie (le cas échéant) :</label>
<input type="file" class="form-control" name="proof[]" id="proof" multiple>
<small id="passwordHelpBlock" class="form-text text-muted">Fichier image au format PNG, JPG, GIF ou document au format PDF, DOC. 5Mo maximum.</small>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary" name="create">Valider</button>
</form>
</div>
</div>
</div>
<!-- [ Smart-Wizard ] end -->
</div>
</div>
<!-- [ sample-page ] end -->
</div>
<!-- [ Main Content ] end -->
</div>
</div>
</div>
</div>
</div>
</div>
Quelqu'un peut il m'éclairer ?? Merci
Bonjour,
Je suis coincé !!
J'ai un petit script d'upload PHP qui fonctionne sur une page test.php.
Voici le code.
[PHP]<?php
if(isset($_FILES['proof']))
{
$total = count($_FILES['proof']['name']);
$piece_jointe = NULL;
for ($i=0; $i < $total ; $i++)
{
if(isset($_FILES['proof']['name'][$i]) AND !empty($_FILES['proof']['name'][$i])) {
$currentDir = getcwd();
$uploadDirectory = "/assets/images/pj/";
$fileExtensions = ['jpeg','jpg','png', 'gif', 'pdf', 'txt', 'doc', 'JPEG', 'JPG', 'PNG', 'GIF', 'PDF', 'DOC', 'TXT']; // Get all the file extensions
$fileName = $_FILES['proof']['name'][$i];
$fileSize = $_FILES['proof']['size'][$i];
$fileTmpName = $_FILES['proof']['tmp_name'][$i];
$fileType = $_FILES['proof']['type'][$i];
$fileExtension = pathinfo($fileName);
$fileExtension = $fileExtension['extension'];
if (! in_array($fileExtension,$fileExtensions)) {
$erreur = 'Le format du fichier '.$fileName.' n\'est pas autorisé. Veuillez réessayer avec un fichier de type PNG, JPG, GIF, PDF ou DOC.';
afficherErreur($erreur);
$stop = 1;
}
if ($fileSize > 5000000) {
$erreur = 'La taille du fichier ne doit pas excéder 5Mo. Veuillez réessayer avec un fichier plus léger.';
afficherErreur($erreur);
$stop = 1;
}
if (!isset($stop)) {
//On renomme le fichier avec un token unique
$token = base_convert(hash('sha256', time() . mt_rand()), 8, 36);
$fileName = $token.'.'.$fileExtension;
//On créé le chemin d'upload
$uploadPath = $currentDir . $uploadDirectory . basename($fileName);
$didUpload = move_uploaded_file($fileTmpName, $uploadPath);
$proof_OK = 1;
//Enfin on le nomme pour la BDD
$piece_jointe .= $fileName.',';
if ($didUpload) {
//Succès
} else {
$erreur = 'Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur.';
afficherErreur($erreur);
}
}
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
Upload a File:
<input type="file" name="proof[]" id="fileToUpload" multiple>
<button type="submit" name="create" value="Upload" >Yess</button>
</form>
[/PHP]
Maintenant, je veux le faire marcher dans un formulaire plus large, avec d'autres paramètres.. Et ça ne fonctionne plus du tout ! Au moment de l'upload, l'erreur"Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur." apparait. Pourtant, le script ne remonte aucune erreur, sauf move_uploaded_file qui retourne FALSE. $_FILES['proof']['error'], retourne 0.
J'en peux plus, je n'arrive pas à voir ce qui diffère entre ces deux scripts, positionnés dans le même répertoire.
Voici le code qui ne fonctionne pas (dans la totalité) :
[PHP]<?php
require_once('includes/config.php');
$title = 'Absence & Maladie';
include('includes/head.php');
include('includes/nav.php');
include('includes/ft.php');
?>
<!-- [ Main Content ] start -->
<div class="pcoded-main-container">
<div class="pcoded-wrapper">
<div class="pcoded-content">
<div class="pcoded-inner-content">
<!-- [ breadcrumb ] start -->
<div class="page-header">
<div class="page-block">
<div class="row align-items-center">
<div class="col-md-12">
<div class="page-header-title">
<h5 class="m-b-10"><?php echo $title; ?></h5>
</div>
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="index.php"><i class="feather icon-home"></i></a></li>
<li class="breadcrumb-item"><a href="javascript:"><?php echo $title; ?></a></li>
</ul>
</div>
</div>
</div>
</div>
<!-- [ breadcrumb ] end -->
<div class="main-body">
<?php
if(isset($_POST['create']))
{
//Le formulaire a bel et bien été envoyé
//On vérifie que tous les champs obligatoires sont renseignés
//On traite les données entrées par l'utilisateur
if(
isset($_POST['employee']) AND
isset($_POST['absence_type']) AND
isset($_POST['date_debut'])
)
{
//Les données obligatoires sont toutes OK, on les traite
$employee = $_POST['employee'];
$absence_type = $_POST['absence_type'];
$date_debut = UserToBddDate($_POST['date_debut']);
//On définit les champs non obligatoires par NULL
$date_fin = NULL;
$reason = NULL;
$proof_OK = 0;
//On traite les valeurs facultatives si elles existent
if(isset($_POST['date_fin'])) { $date_fin = UserToBddDate($_POST['date_fin']); }
if(isset($_POST['reason'])) { $reason = $_POST['reason']; }
// Enfin, on traite les données automatiques
$timestamp = time();
$planning_time = NULL;
$employee_time = NULL;
// TODO : MODIFIER PAR SESSION
$author_id = 1;
//Pièce jointe
if(!empty($_FILES['proof']))
{
$total = count($_FILES['proof']['name']);
$piece_jointe = NULL;
for ($i=0; $i < $total ; $i++)
{
if(isset($_FILES['proof']['name'][$i]) AND !empty($_FILES['proof']['name'][$i])) {
$currentDir = getcwd();
$uploadDirectory = "/assets/images/pj/";
$fileExtensions = ['jpeg','jpg','png', 'gif', 'pdf', 'txt', 'doc', 'JPEG', 'JPG', 'PNG', 'GIF', 'PDF', 'DOC', 'TXT']; // Get all the file extensions
$fileName = $_FILES['proof']['name'][$i];
$fileSize = $_FILES['proof']['size'][$i];
$fileTmpName = $_FILES['proof']['tmp_name'][$i];
$fileType = $_FILES['proof']['type'][$i];
$fileExtension = pathinfo($fileName);
$fileExtension = $fileExtension['extension'];
if (! in_array($fileExtension,$fileExtensions)) {
$erreur = 'Le format du fichier '.$fileName.' n\'est pas autorisé. Veuillez réessayer avec un fichier de type PNG, JPG, GIF, PDF ou DOC.';
afficherErreur($erreur);
$stop = 1;
}
if ($fileSize > 5000000) {
$erreur = 'La taille du fichier ne doit pas excéder 5Mo. Veuillez réessayer avec un fichier plus léger.';
afficherErreur($erreur);
$stop = 1;
}
if (!isset($stop)) {
//On renomme le fichier avec un token unique
$token = base_convert(hash('sha256', time() . mt_rand()), 8, 36);
$fileName = $token.'.'.$fileExtension;
//On créé le chemin d'upload
$uploadPath = $currentDir . $uploadDirectory . basename($fileName);
$didUpload = move_uploaded_file($fileTmpName, $uploadPath);
$proof_OK = 1;
//Enfin on le nomme pour la BDD
$piece_jointe .= $fileName.',';
if ($didUpload) {
//Succès
} else {
$erreur = 'Une erreur est survenue lors du chargement du fichier. Merci de contacter un administrateur.';
afficherErreur($erreur);
var_dump($_FILES['proof']['error']);
}
}
}
}
}
if($proof_OK == 1)
{
//OK
}
else
{
$piece_jointe = NULL;
}
//Fin PJ
//Pas d'erreur, on enregistre
if(!isset($erreur)) {
//Enregistrement des données
$req = $bdd->prepare('INSERT INTO employee_reporting(
id,
author_id,
employee_id,
reporting_type,
begin_date,
end_date,
planning_time,
employee_time,
reason,
proof,
timestamp
) VALUES(
:id,
:author_id,
:employee_id,
:reporting_type,
:begin_date,
:end_date,
:planning_time,
:employee_time,
:reason,
:proof,
:timestamp
)');
$req->execute(array(
'id' => NULL,
'author_id' => $author_id,
'employee_id' => $employee,
'reporting_type' => $absence_type,
'begin_date' => $date_debut,
'end_date' => $date_fin,
'planning_time' => $planning_time,
'employee_time' => $employee_time,
'reason' => $reason,
'proof' => $piece_jointe,
'timestamp' => time()
));
//OK, on redirige vers un succès
$succes = 'Merci. Votre signalement a bien été enregistré.';
afficherSucces($succes);
}
}
else
{
$erreur = 'Les champs suivis du caractère * sont obligatoires.';
afficherErreur($erreur);
}
}
?>
<div class="page-wrapper">
<!-- [ Main Content ] start -->
<div class="row">
<!-- [ sample-page ] start -->
<div class="col-sm-12">
<!-- [ Main Content ] start -->
<div class="row">
<!-- [ Smart-Wizard ] start -->
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<h5>Signaler une absence ou un arrêt maladie</h5>
</div>
<div class="card-body">
<form id="validation-form123" action="#!" method="POST" enctype="multipart/form-data">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Employé(e) *</label>
<select class="js-example-basic-single form-control" name="employee" required>
<?php if(isset($erreur) AND isset($_POST['employee']))
{
$reponse_2 = $bdd->prepare('SELECT id, lastname, firstname FROM employees WHERE id = ?');
$reponse_2->execute(array($_POST['employee']));
$donnees_2 = $reponse_2->fetch();
echo '<option value="'.$_POST['employee'].'">'.$donnees_2['firstname'].' '.$donnees_2['lastname'].' ('.$donnees_2['id'].')</option>';
}
else
{
echo '<option value>Employé...</option>';
}
//Récupération de la liste des employés
$reponse_1 = $bdd->query('SELECT id, lastname, firstname FROM employees WHERE active = 1 ORDER BY lastname');
while ($donnees_1 = $reponse_1->fetch())
{
?>
<option value="<?php echo $donnees_1['id']; ?>"><?php echo $donnees_1['firstname'].' '.$donnees_1['lastname'].' ('.$donnees_1['id'].')'; ?></option>
<?php
}
$reponse_1->closeCursor();
?>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="radio d-inline">
<input type="radio" name="absence_type" value="2" id="radio-in-1"
<?php if(!isset($_POST['absence_type']) OR (isset($_POST['absence_type']) AND $_POST['absence_type'] == 2)) { ?>checked <?php } ?>>
<label for="radio-in-1" class="cr">Absence injustifiée</label>
</div>
</div>
<div class="form-group">
<div class="radio d-inline">
<input type="radio" name="absence_type" value="3" id="radio-in-2"
<?php if(isset($_POST['absence_type']) AND $_POST['absence_type'] == 3) { ?>checked <?php } ?>
>
<label for="radio-in-2" class="cr">Arrêt maladie</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Date du début de l'absence *</label>
<input type="text" class="form-control" name="date_debut" id="date" placeholder="JJ/MM/AAAA" value="<?php if(isset($erreur) AND isset($_POST['date_debut'])) { echo $_POST['date_debut']; } else { echo date("d/m/Y"); } ?>" required>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Date de fin de l'absence / de l'arrêt (si connue) :</label>
<input type="text" class="form-control" name="date_fin" id="date2" placeholder="JJ/MM/AAAA" value="<?php if(isset($erreur) AND isset($_POST['date_fin'])) { echo $_POST['date_fin']; } ?>">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Raison de l'absence / de l'arrêt :</label>
<textarea class="form-control" name="reason"><?php if(isset($erreur) AND isset($_POST['reason'])) { echo $_POST['reason']; } ?></textarea>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Justificatif ou arrêt maladie (le cas échéant) :</label>
<input type="file" class="form-control" name="proof[]" id="proof" multiple>
<small id="passwordHelpBlock" class="form-text text-muted">Fichier image au format PNG, JPG, GIF ou document au format PDF, DOC. 5Mo maximum.</small>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary" name="create">Valider</button>
</form>
</div>
</div>
</div>
<!-- [ Smart-Wizard ] end -->
</div>
</div>
<!-- [ sample-page ] end -->
</div>
<!-- [ Main Content ] end -->
</div>
</div>
</div>
</div>
</div>
</div>
[/PHP]
Quelqu'un peut il m'éclairer ?? Merci