Bonjour à tous,
Premièrement voici ma page complète pour que vous compreniez ce que je cherche à faire :Pour faire simple, c'est une simple page contenant un script permettant de stiocker un fichier upload dans un dossier voulus et de permettre l'enregistrement des informations dans la base (nom, description et liens d'accès au fichier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Visite Virtuelle : Echec de l'ajout </title> </head> <body> <CENTER><h1>Echec de votre requête</h1></CENTER> <?php require 'menu.php'; ?> <?php if (isset($_FILES['fichier'])) { $dossier = 'plans/'; $fichier = basename($_FILES['fichier']['name']); $taille_maxi = 50000000; $taille = filesize($_FILES['fichier']['tmp_name']); $extensions = array('.ifc'); $extension = strrchr($_FILES['fichier']['name'], '.'); if (!in_array($extension, $extensions)) { $erreur = "Vous devez uploader un fichier de type .ifc"; } if ($taille > $taille_maxi) { $erreur = "Le fichier est trop volumineux, veuillez upload un fichier de moins de 50Mo."; } if (!isset($erreur)) { $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if (move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) { require 'connect.php'; // récupérations des valeurs des champs : $ajoutnom = $_POST["nom_plan"]; $ajoutdesi = $_POST["desi_plan"]; $nomplan = $_FILES['fichier']['name']; $lienplan = 'plans/' . $nomplan; //requête sql : $ajoutPlanSQL = "INSERT INTO vv_plans (nom_plan, designation, lien_plan) VALUES( '$ajoutnom', '$ajoutdesi', '$lienplan')"; //exécution requête $requeteAPlan = $dbh->query($ajoutPlanSQL); // vérification de l'exécution if ($requeteAPlan) { echo "Ajout base OK"; } else { echo "Ajout base échoué"; } } else { echo 'Echec upload..'; } } else { echo $erreur; } } ?> <?php ?> </body> </html>
Bon la première partie concernant le stockage du fichier marche, les vérification marche, toutes cette partie marche.
C'est la seconde partie, l'ajout des informations, qui ne fonctionne pas :
Puisqu'il m'affiche "Ajout base échoué".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 require 'connect.php'; // récupérations des valeurs des champs : $ajoutnom = $_POST["nom_plan"]; $ajoutdesi = $_POST["desi_plan"]; $nomplan = $_FILES['fichier']['name']; $lienplan = 'plans/' . $nomplan; //requête sql : $ajoutPlanSQL = "INSERT INTO vv_plans (nom_plan, designation, lien_plan) VALUES( '$ajoutnom', '$ajoutdesi', '$lienplan')"; //exécution requête $requeteAPlan = $dbh->query($ajoutPlanSQL); // vérification de l'exécution if ($requeteAPlan) { echo "Ajout base OK"; } else { echo "Ajout base échoué"; }
J'ai bien vérifier mes variable, ma syntaxe dans ma requête SQL (possible que le problème soit dedans je ne suis pas bon en SQL..). JE ne comprends pas pourquoi ça ne marche pas.
Pourtant j'ai repris l'exemple d'une page que j'ai déjà créer et qui fonctionne.
Je me demandais si ces ligne étaient correcte :
C'est juste une supposition. Peut être des prblèmes avec la forme de la variable ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $nomplan = $_FILES['fichier']['name']; $lienplan = 'plans/' . $nomplan;
J'utilise une connexion PDO contenu dans le connect.php, d'où leMa connexion marche, puisque le reste de mes pages fonctionne très bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dbh->query
J'en appel à votre savoir et à vos connaissance !
En tout cas, merci d'avance
Partager