Bonjour tout le monde,

J'ai des soucis pour créer un objet de connexion à ma BD :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
//inclut l'auto-loader.
require("auto_loader/auto_loader.php");
 
$db = new DatabaseConnection();
$db->getInstance();
 
?>
J'obtiens ce message d'erreur :

"NetworkError: 500 Internal Server Error - http://localhost:8888/imaginatiff/reservations/PHP/enregistrement_utilisateurs.php"
Mon auto-loader fonctionne car j'ai testé la valeur de $class, cela m'affiche bien le nom de la classe. Voici le code au cas où... :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<?php
 
   //fonction anonyme en php qui sert d'auto-loader.
   spl_autoload_register(function ($class) 
    {
       include 'class/' . $class . '.class.php';
     }
     );
?>
Voici le code de ma classe (j'ai ajouté le port 8889 car je suis sous mac) :

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
71
72
73
 
<?php  
class DatabaseConnection
{
    private static $_instance = null;
 
    private $_host;
 
    private $_port;
 
    private $_user;
 
    private $_password;
 
    private $_dbname;
 
    private $_handle;
 
 
 
    private function __construct($dbname = 'imaginatiff')
    {
        $this->_host     = 'localhost';
 
        $this->_port = 8889;
 
        $this->_user     = 'root';
 
        $this->_password = 'root';
 
        $this->_dbname   = $dbname;
 
        $this->_handle   = null;
 
        try
        {
 
            $this->_handle = new PDO("mysql:host=$this->_host;port=$this->_port;dbname=$this->_dbname", $this->_user, $this->_password);
 
            $this->_handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
            echo 'Connection established and database "' . $this->_dbname . '" selected.';
 
        }
        catch (PDOException $e)
        {
 
            die('Connection failed or database cannot be selected : ' . $e->getMessage());
        }
    }
 
    //empêche l'objet d'être cloné
    private function __clone ()
    {
    }
 
    //singleton
    public static function getInstance()
    {
        if (is_null(self::$_instance))
        {
            self::$_instance = new self();
        }
 
        return self::$_instance;
    }
 
    public function handle()
 
    {
        return $this->_handle;
    }
}
Je devrais obtenir le message d'erreur grâce au die ?

La seule chose que j'obtiens dans l'alerte de l'erreur ci-dessous est null :

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
$(document).ready(function()
{
      $('#btn_enregistrement').click(function(){
            var valeurs = $("#form_enregistrement").serialize();
            $.ajax({
                        type: 'POST',
                        url: 'PHP/enregistrement_utilisateurs.php',
                        dataTpye: 'text',
                        data: valeurs,
                        success:function(retour)
                        {
                              alert(retour);
                        },
                        error:function(retour)
                        {
                              var obj = jQuery.parseJSON(retour);
                              alert(obj);
                        }
                   }
                  )
 
 
      });
});
Merci d'avance pour votre aide.

bee