Bonjour à tous voici mon petit soucis que je ne trouve pas des réponse depuis un moment ....

j'ai cette function qui me permet de créer un token et de l'enregistré dans ma base de donné. Cette enregistrent est par la suite utilisé dans mon serveur WSS pour authentifier un utilisateur.

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
 
public static function getToken()
    { 
      $token = bin2hex(random_bytes(64));
      // $token = 'teste';
      $idUser = session::sessionData("idUserActif");
      $ip = $_SERVER['REMOTE_ADDR'];
 
 
      $bd = bdApp::getConnection();
 
      $sql = 'SELECT * FROM '.self::tableWsToken.' WHERE idUser = :idUser';
 
          $req = $bd->prepare($sql);
 
          $req->execute(array(':idUser' =>$idUser));
 
          // si un enregsitrment contien l'id d'utilisateur on update
          if($req->rowCount() > 0)
          {
            $sql = 'UPDATE '.self::tableWsToken.' SET token = :token ,ip = :ip WHERE idUser = :idUser ';
 
            $req = $bd->prepare($sql);
 
 
            $req->execute(array(':idUser' => $idUser, ':token' =>$token,':ip' => $ip));
 
          }
 
          //si aucun enregsitrement contien l Id user on créer un nouvelle enregistrment
          else
          {
            $sql = 'INSERT INTO '.self::tableWsToken.'(idUser,token,ip) VALUES  (:idUser,:token,:ip)';
 
            $req = $bd->prepare($sql);
 
            $req->execute(array(':idUser' => $idUser, ':token' =>$token,':ip' => $ip));
          }
 
      return $token;
    }
mon problème est que le token n'est pas le même une fois enregistré dans ma bd je ne comprend vraiment pas pourquoi? quand j'utilise un simple texte comme teste tout marche parfaitement par contre. Si quelqu'un peu m'expliqué pourquoi j'aimerai bien comprendre mon erreur en souhaitant quelle ne sois pas toute bête !!!! Merci à l'avance !