Bonjour,
Je voudrais mettre en place place un système de site de photos réparti en catégorie.
Pour l'instant j'ai commencer mais j'ai un poblème concernant des erreurs qui s'affichent au fils de la création. Pour le momment je suis en local, j'utlise wamp et notepad++
J'ai adopté le style MVC/PDO avec utilisation des classes
J'ai les scripts suivants qui me posent problème :
le chemin : sitewebperso\modules\albums\upload.php
Mon modèle : sitewebperso\modeles\uploader.php
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
70 <?php // Vérification des droits d'accès de la page if (utilisateur_est_connecte()) { // On affiche la page d'erreur comme quoi l'utilisateur est déjà connecté include CHEMIN_VUE_GLOBALE.'erreur_deja_connecte.php'; } else { // Ne pas oublier d'inclure la librarie Form include CHEMIN_LIB.'form.php'; // "formulaire_upload" est l'ID unique du formulaire $form_upload = new Form('formulaire_upload'); $form_upload->method('POST'); $form_upload->enctype('enctype'); $form_upload->add('File', 'Pho_Name') ->filter_extensions('jpg', 'png', 'gif') ->max_size(8192) // 8 Kb ->label("Votre photo (facultatif)") ->Required(false); $form_upload->add('Text', 'Pho_Desc ') ->label("Commenter votre photo"); $form_upload->add('Submit', 'submit') ->value("J'envoi ma photo !"); // Pré-remplissage avec les valeurs précédemment entrées (s'il y en a) $form_upload->bound($_POST); // Création d'un tableau des erreurs $erreurs_upload = array(); // Validation des champs suivant les règles en utilisant les données du tableau $_POST if ($form_upload->is_valid($_POST)) { // Si d'autres erreurs ne sont pas survenues if (empty($erreurs_upload)) { // Traitement du formulaire à faire ici } else { // On affiche à nouveau le formulaire d'inscription include CHEMIN_VUE.'formulaire_upload.php'; } } else { // On affiche à nouveau le formulaire d'inscription include CHEMIN_VUE.'formulaire_upload.php'; } // On veut utiliser le modele de l'upload (~/modeles/uploader.php) include CHEMIN_MODELE.'uploader.php'; // ajouter_photo() est défini dans ~/modeles/uploader.php $Pho_ID = ajouter_photo($Cat_ID, $Pho_Name, $Pho_Desc, $Pho_Res, $Pho_Size); }
La structure de mes base de données
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 <?php function ajouter_categorie($Cat_Name, $Cat_Desc) { $pdo = PDO2::getInstance(); $requete = $pdo->prepare("INSERT INTO CategoriePhoto SET Cat_Name = :Cat_Name, Cat_Desc = :Cat_Desc, date = NOW()"); $requete->bindValue(':Cat_Name', $Cat_Name); $requete->bindValue(':Cat_Desc', $Cat_Desc); if ($requete->execute()) { return $pdo->lastInsertId(); } return $requete->errorInfo(); } function ajouter_photo($Cat_ID, $Pho_Name, $Pho_Desc, $Pho_Res, $Pho_Size) { $pdo = PDO2::getInstance(); $requete = $pdo->prepare("INSERT INTO Photo SET Pho_ID = :Pho_ID, Cat_ID = :Cat_ID, Pho_Name = :Pho_Name, Pho_Desc = :Pho_Desc, Pho_Res = :Pho_Res, Pho_Size = :Pho_Size, date = NOW()"); $requete->bindValue(':Pho_ID', $Pho_ID); $requete->bindValue(':Cat_ID', $Cat_ID); $requete->bindValue(':Pho_Name', $Pho_Name); $requete->bindValue(':Pho_Desc', $Pho_Desc); $requete->bindValue(':Pho_Res', $Pho_Res); $requete->bindValue(':Pho_Size', $Pho_Size); if ($requete->execute()) { return $pdo->lastInsertId(); } return $requete->errorInfo(); }
Je vous met ci-joint une capture écran avec les erreurs qui s'affichent concernant les variable que j'ai
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 CREATE TABLE `CatégoriePhoto` ( `Cat_ID` smallint(6) NOT NULL auto_increment, `Cat_Name` varchar(80) NOT NULL, `Cat_Desc` tinytext, `Date` date default NULL, `Time` time default NULL, PRIMARY KEY (`Cat_ID`) ); CREATE TABLE `Photo` ( `Pho_ID` smallint(6) NOT NULL auto_increment, `Cat_ID` smallint(6) NOT NULL, `Pho_Name` varchar(80) NOT NULL, `Pho_Desc` tinytext, `Pho_Res` varchar(20) default NULL, `Pho_Size` smallint(6) default NULL, `Date` date default NULL, `Time` time default NULL, PRIMARY KEY (`Pho_ID`) );
Je vous remerci de votre aide
Partager