Bonjour,

J'ai un gros problème, ma requête SQL "INSERT INTO" ne s'exécute pas.
Les autres requêtes s'exécute sans aucun problème.

Voici ma fonction register:

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
        public function register(){
            $login      = isset($_POST['login'])    ? $_POST['login']       : null;
            $email      = isset($_POST['email'])    ? $_POST['email']       : null;
            $password   = isset($_POST['password']) ? $_POST['password']    : null;
            $password2  = isset($_POST['password2'])? $_POST['password2']   : null;
            $captcha    = isset($_POST['captcha'])  ? $_POST['captcha']     : null;
 
            if(!$login || !$email || !$password|| !$password2)
                return parent::ajax_result(false, 'Veuillez remplir tout les champs!');
 
            if($password != $password2)
                return parent::ajax_result(false, 'Les mots de passe ne correspondent pas!');
 
            if(strlen($login) < 5)
                return parent::ajax_result(false, 'Longueur minimale du pseudo [5]!');
 
            if(strlen($login) >= 50)
                return parent::ajax_result(false, 'Longueur maximale du pseudo [50]!');
 
            if(!preg_match("/^[0-9a-zA-Z_]{5,50}$/", $login))
                 return parent::ajax_result(false, 'Le pseudo contient des caractères interdits!');
 
            if(strlen($email) < 5)
                return parent::ajax_result(false, 'Longueur minimale de l\'adresse email [5]!');
 
            if(strlen($email) >= 50)
                return parent::ajax_result(false, 'Longueur maximale de l\'adresse email [50]!');
 
            if (!filter_var($email, FILTER_VALIDATE_EMAIL))
                return parent::ajax_result(false, 'Entrez un message valide.!');
 
            if(strlen($password) < 5)
                return parent::ajax_result(false, 'Longueur minimale du mot de passe [5]!');
 
            if(strlen($password) >= 50)
                return parent::ajax_result(false, 'Longueur maximale du mot de passe [50]!');
 
            $captcha_key = parent::getSetting('secret_key');
            $check  = parent::Captcha($captcha, $captcha_key);
            if($check == false)
                return parent::ajax_result(false, 'Le captcha n\'est pas rempli!');
 
            $login = parent::SECURE($login);
            $email = parent::SECURE($email);
            $password2 = md5($password2);
 
            $this->query_select_one = true;
 
            $checkLogin = parent::query("SELECT * FROM `Users` WHERE `login` = '{$login}' LIMIT 1");
            if($checkLogin != false)
                return parent::ajax_result(false, 'Ce pseudo existe déjà!');
 
            $checkEmail = parent::query("SELECT * FROM `Users` WHERE `email` = '{$email}' LIMIT 1");
            if($checkEmail != false)
                return parent::ajax_result(false, 'Cet email existe déjà!');
 
            $ctime = time();
            $this->query_select = false;
            $res = parent::query("INSERT INTO `Users`(`login`, `email`, `password`, `date_register`, `freez_status`) VALUES ('{$login}', '{$email}', '{$password2}', '{$ctime}', '0' )");
 
            setcookie('login', $login, time() + 60 * 60 * 24 * 1488, '/');
            setcookie('password', $password, time() + 60 * 60 * 24 * 1488, '/');
 
            return parent::ajax_result(true, 'Bienvenue !');
            }
Je ne comprend pas d'ou viens le problème. C'est bien la seule qui ne fonctionne pas..

EDIT: Je viens de changer le hachage du mot de passe grâce à password_hash et le mot de passe en clair dans le cookie à été résolu.
EDIT 2: Avec une requete préparée, le problème est toujours le même.


Cordialement.