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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
<?php
session_start();
if($_POST) {
require_once '../includes/config.php';
$q=$db->prepare('SELECT id FROM categories WHERE noms=?');
$q->execute(array($_POST['newCat']));
$r=$q->fetch();
$q=$db->prepare('SELECT * FROM marques WHERE marques = ?');
$q->execute(array($_POST['newMark']));
$res=$q->fetch();
$success = "error";
if(!empty($_POST['nomProd'])){
$_SESSION['debug'] = '1';
if(!empty($_POST['cat']) || !empty($_POST['newCat'])) {
$_SESSION['debug'] = '2';
if(!empty($_POST['mark']) || !empty($_POST['newMark'])){
$_SESSION['debug'] = '3';
if(empty($res['id'])){
$_SESSION['debug'] = '4';
if($_POST['newMark'] != $res['marques']) {
$_SESSION['debug'] = '5';
if (isset($_FILES) && !empty($_FILES['file']['tmp_name'])) {
$_SESSION['debug'] = '6';
$content_dir="../pdf/"; // dossier où sera déplacé le fichier
$nom = $_FILES['file']['name']; //le nom de ton fichier (par exemple : image.jpg)
$tmp_file = $_FILES['file']['tmp_name']; //le nom du fichier dans le dossier tmp
$type = strrchr($_FILES['file']['name'], '.'); //l'extension du fichier (par exemple : .jpg)
$poids = filesize($_FILES['file']['tmp_name']); //le poids du fichier en octet
//liste des extensions que tu traiteras
$extension = array('.pdf');
//Poids maximum autorisé pour l'upload (voir dans le fichier PHP.ini : généralement 2mo)
$maxTaille = 8000000;
//Corrige les caractères avec accents et remplace les espaces et caractères speciaux par -
//Evite les problèmes par la suite.
$nom = strtr($nom,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$nom = preg_replace('/([^.a-z0-9]+)/i', '-', $nom);
//On contrôle que le fichier est bien présent dans le dossier tmp
if (is_uploaded_file($tmp_file)) {
$_SESSION['debug'] = '7';
//On contrôle si l'extension est présente dans ta liste $extension
if(in_array($type, $extension)){
$_SESSION['debug'] = '8';
//On contrôle que le poids est effectivement bon
if($poids<=$maxTaille){
$_SESSION['debug'] = '9';
//Si tout se passe bien on Upload dans ton dossier de destination.
if(move_uploaded_file($tmp_file, $content_dir.$nom)) {
$_SESSION['debug'] = '10';
$success = "agree";
$req=$db->prepare('INSERT INTO notices (nom, cat_id, newCat, marque_id, newMark, pdf) VALUES (:nom, :catId, :newCat, :mId, :newMark, :pdf )');
$req->bindValue(':nom', $_POST['nomProd'], PDO::PARAM_STR);
$req->bindValue(':catId', $_POST['cat'], PDO::PARAM_INT);
$req->bindValue(':newCat', $_POST['newCat'], PDO::PARAM_STR);
$req->bindValue(':mId', $_POST['mark'], PDO::PARAM_INT);
$req->bindValue(':newMark', $_POST['newMark'], PDO::PARAM_STR);
$req->bindValue(':pdf', $nom, PDO::PARAM_STR);
$req->execute();
$message = 'Votre notice a bien été soumise.<br />Cependant elle sera définitivement validée qu\'une fois vérifiée par nos services.';
}
else
$message = "Le fichier est introuvable.";
}
else
$message = "Le fichier est trop gros";
}
else
$message = "Le format du fichier n\'est pas un PDF";
}
else
$message="Impossible de copier le fichier dans" .$content_dir;
}
else
$message = "Vous devez choisir un fichier PDF";
}
else
$message = "Cette marque éxiste déjà";
}
else
$message = "Cette catégorie éxiste déjà";
}
else
$message = "Vous devez soit choisir de sélectionner une marque soit suggérer une nouvelle marque";
}
else
$message = "Vous devez soit choisir de sélectionner une catégorie soit suggérer une nouvelle catégorie";
}
else
$message = "Vous devez nommer une marque + référence pour valider le formulaire";
echo json_encode([
'message' => $message,
'success' => $success
]);
} |
Partager