Bonjour à tous, j'ai un petit souci concernant l'autochargement des classes.
J'ai un fichier que j'ai mis a la racine qui est un autoload :
autoloader.php
Voici mes fichiers :
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 <?php spl_autoload_register(function($className) { $files = glob("*.php"); $dirs = array( __DIR__ . '\controller\*', __DIR__ . '\model\*', ); foreach($dirs as $dir) { $files = glob($dir); foreach($files as $file) { //echo "<pre>";print_r($file); var_dump($file); if(pathinfo($file, PATHINFO_FILENAME) === strtolower($className)) { require_once($file); } } } });
Model/ModeleAjouterMembres.php
Controller/Inscription.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 <?php require_once'../autoload.php'; class ModeleAjouteMembres { public static function addMembres(membre $membre) { $connexion = Connexion::getInstance(); $sql = $connexion->prepare("INSERT INTO ps_membre(nom_membre,prenom_membre,date_naissance,cp_membre,adresse_membre,ville_membre,pays_membre,tel_membre,email_membre,password) VALUES(?,?,?,?,?,?,?,?,?,?)"); { $params = $membre->getReqParams(); $n=1; // Nombre de paramètres foreach($params as $v) { $sql->bindValue( $n,$v,PDO::PARAM_STR); echo $v; echo"<br>"; $n++; } } $res=$sql->execute(); $result=$sql->fetchAll(); return $result; } }
et view/Inscription.html
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 <?php require_once'../autoloader.php'; class Inscription { public static function ajouterUnMembre(membre $membre) { if (isset($_POST['submit'])) { $connexion = Connexion::getInstance(); $ajout = new ModeleAjouteMembres(); $ajout::addMembres($membre); } } } //end class $membre = new membre( "", $_POST['nom'], $_POST['prenom'], $_POST['date_naissance'], $_POST['code'], $_POST['adresse'], $_POST['ville'], $_POST['pays'], $_POST['tel'], $_POST['email'], $_POST['password']); echo "<pre>";print_r($membre); Inscription::ajouterUnMembre($membre); header('Location:../index.php');
Code html : 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
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 <!doctype html> <html> <head> <meta charset="utf-8"> <title>BLOCKS - Bootstrap Dashboard Theme</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> <link href="../lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <link href="../admin/assets/css/main.css" rel="stylesheet"> <link href="../admin/assets/css/font-style.css" rel="stylesheet"> <link rel="stylesheet" href="../admin/assets/css/register.css"> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <style type="text/css">body {padding-top: 60px;}</style> <link href="http://fonts.googleapis.com/css?family=Raleway:400,300" rel="stylesheet" type="text/css"> <link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css"> </head> <body> <!-- NAVIGATION MENU --> <div class="navbar-nav navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="../index.php"><img src="../images/logo/interface2.png" alt=""></a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav" style="padding-top:30px;margin-left:90px"> <li><a href="calendar.html.twig">OFFRE</a></li> <li><a href="Inscription.html.twig.html">CONNEXION</a></li> <li><a href="login.html.twig">QUI SOMMES-NOUS ?</a></li> <li><a href="tables.html.twig">NOUS CONTACTER</a></li> </ul> </div> </div> </div> <div class="container" style="padding-top:60px"> <div id="register-wraper"> <!-- <form id="register-form" class="form" action="../controller/ControlleAjouteMembres.php" method="POST"> --> <form id="register-form" class="form" action="../controller/Inscription.php" method="POST"> <legend> INSCRIPTION </legend> <hr> <div class="body"> <input name="id" class="input-huge" type="hidden"> <label>NOM</label> <input name="nom" class="input-huge" type="text"> <label>PRENOM</label> <input name="prenom" class="input-huge" type="text"> <label>DATE NAISSANCE</label> <input name="date_naissance" class="input-huge" type="text"> <label>CODE POSTALE</label> <input name="code" class="input-huge" type="text"> <label>ADRESSE</label> <input name="adresse" class="input-huge" type="text"> <label>VILLE</label> <input name="ville" class="input-huge" type="text"> <label>PAYS</label> <input name="pays" class="input-huge" type="text"> <label>TELEPHONE</label> <input name="tel" class="input-huge" type="text"> <label>EMAIL</label> <input name="email" class="input-huge" type="text"> <label>PASSWORD</label> <input name="password" class="input-huge" type="password"> </div> <br/> <div class="footer"> <button type="submit" name="submit" class="btn btn-success">Enregistrer</button> </div> </form> <!--***** END OF INSCRIPTION -----> </div> </div> <div id="footerwrap"> <footer class="clearfix"></footer> <div class="container"> <div class="row"> <div class="col-sm-12 col-lg-12"> <p><img src="../admin/assets/img/logo.png" alt=""></p> </div> </div><!-- /row --> </div><!-- /container --> </div><!-- /footerwrap --> </body></html>
Mon problème est le suivant : lorsque je lance le programme, mon autoload ne trouve pas la classe ModeleAjouteMembres alors que j'ai fait un print_r, et le fichier est bien appelé.
Mes classe ont le même nom que mes fichiers.
Voici mon arborescence :
http://puu.sh/aH258/e776d65f72.png
Si vous avez des solutions je suis preneur.
Merci d'avance
Partager