Traduction d'une fonction en PHP
devdeb22
Messages postés
31
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
Quelqu'un peut-il me traduire en bon français ce que dit cette fonction.
J'ai l'impression que si je comprends ce que dis cette fonction, je vais trouver la réponse à mon problème.
Merci
EDIT : Ajout du LANGAGE dans les balises de code (pour avoir la coloration syntaxique)
Quelqu'un peut-il me traduire en bon français ce que dit cette fonction.
function reconnect_from_cookie(){
if(session_status() == PHP_SESSION_NONE){
session_start();
}
if(isset($_COOKIE['remember']) && !isset($_SESSION['auth']) ){
require_once 'db.php';
if(!isset($pdo)){
global $pdo;
}
$remember_token = $_COOKIE['remember'];
$parts = explode('==', $remember_token);
$user_id = $parts[0];
$req = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$req->execute([$user_id]);
$user = $req->fetch();
if($user){
$expected = $user_id . '==' . $user->remember_token . sha1($user_id . 'ratonlaveurs');
if($expected == $remember_token){
session_start();
$_SESSION['auth'] = $user;
setcookie('remember', $remember_token, time() + 60 * 60 * 24 * 7);
} else{
setcookie('remember', null, -1);
}
}else{
setcookie('remember', null, -1);
}
}
}
J'ai l'impression que si je comprends ce que dis cette fonction, je vais trouver la réponse à mon problème.
Merci
EDIT : Ajout du LANGAGE dans les balises de code (pour avoir la coloration syntaxique)
A voir également:
- Traduction d'une fonction en PHP
- Fonction si et - Guide
- Google traduction photo - Guide
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Waldik traduction - Forum Loisirs / Divertissements
- Bible hébreu traduction mot à mot pdf - Télécharger - Vie quotidienne
1 réponse
On va plutôt procéder autrement....
Quelles lignes ne comprends tu pas dans ce code ?
Après.. le code n'est pas super propre....
mais bon... voici le début de la "traduction"
Si pas de session démarrée... on les démarre.
On inclus le fichier contenant les infos de connexion à la bdd et qui instancie la connexion à la bdd.
Puis on récupère la variable $pdo pour s'en servir ensuite dans le reste du code
On récupère le contenu de la variable remember contenu dans les COOKIES
On l'explose (le séparateur étant == )
On prend la première des valeurs qu'on stocke dans la variable $user_id
On fait une requête SQL pour récupérer l'utilisateur dont l'id correspond à la variable
Pour la suite... il compare si la valeur retournée par la requête (concaténée avec quelques autres infos ) correspond à celle stockée dans $remember_token
Si oui, il renseigne la variable $_SESSION['auth']
Si non .. il supprime le cookie.
Quelles lignes ne comprends tu pas dans ce code ?
Après.. le code n'est pas super propre....
mais bon... voici le début de la "traduction"
if(session_status() == PHP_SESSION_NONE){
session_start();
}
Si pas de session démarrée... on les démarre.
require_once 'db.php';
if(!isset($pdo)){
global $pdo;
}
On inclus le fichier contenant les infos de connexion à la bdd et qui instancie la connexion à la bdd.
Puis on récupère la variable $pdo pour s'en servir ensuite dans le reste du code
$remember_token = $_COOKIE['remember'];
$parts = explode('==', $remember_token);
$user_id = $parts[0];
On récupère le contenu de la variable remember contenu dans les COOKIES
On l'explose (le séparateur étant == )
On prend la première des valeurs qu'on stocke dans la variable $user_id
$req = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$req->execute([$user_id]);
On fait une requête SQL pour récupérer l'utilisateur dont l'id correspond à la variable
Pour la suite... il compare si la valeur retournée par la requête (concaténée avec quelques autres infos ) correspond à celle stockée dans $remember_token
Si oui, il renseigne la variable $_SESSION['auth']
Si non .. il supprime le cookie.