Je but sur un truc tout bête je pense.
Je suis entrain de faire une page de déblocage de compte client.
La personne recoit un mail, a partir de ce mail cela la renvoie sur le site pour réactiver son compte.
Dans url il y a un token pour retrouver le compte.
Par rapport a ce token il y a certain controle et une fois les controle fait je valide un formulaire ou l'utilisateur met son mail afin de voir si il correspond a celui du token.
Le soucis je ne parviens pas a utiliser les variables dans mon formulaire, alors qu'avant le formulaire j'arrive a les manipulées.
J'ai essayer d'utiliser les sessions mais cela ne fonctionne pas.
Pourriez-vous m'aider ?
J'utilise l'architecture MVC.
Code : Tout sélectionner
<?php
session_start(); // initialise la session
require_once(dirname(__FILE__).'/../Configuration/config.php');
require_once(dirname(__FILE__) . '/../Modeles/Utilisateur.php');
//Fichier pour envoi de mail en local et en prod
require_once(dirname(__FILE__).'/../Public/Utiles/phpmailer.php');
$code = '';
$controleRole = 6;
// var_dump($controleRole);
// exit;
// compte debloquer code 71
// Recuperer le token envoyer par mail
$tokenMail = filter_input(INPUT_GET, 'token', FILTER_SANITIZE_STRING);
// var_dump($tokenMail);
// exit;
// Enlever le code de securite brut 13A5 Supprimer les 4 derniers caractères
$tokenMailSansCode = substr($tokenMail, 0, -4);
// var_dump($tokenMailSansCode);
// exit;
// Vérifier si le token existe dans la table des utilisateurs
$utilisateur = Utilisateurs::getUtilisateurByToken($tokenMailSansCode);
if ($utilisateur) {
// Récupérer la propriété IdRole associée au token
$idRole = $utilisateur->getIdRole();
// var_dump($idRole);
// exit;
// Vérifier différentes conditions pour définir la variable $code
if ($idRole > $controleRole) {
// IdRole est supérieur à $controleRole
$code = '4';
} elseif ($idRole >= 1 && $idRole <= 5) {
// IdRole est compris entre 1 et 5 inclus
$code = '27';
// Vous pouvez ajouter d'autres actions à effectuer ici
} else {
// Autres cas si =6
$code = '';
}
} else {
// Le token n'existe pas dans la table des utilisateurs
$code = '4';
// echo "Token non valide.";
}
if ($utilisateur) {
// Récupérer l'adresse e-mail associée au token
$adresseMail = $utilisateur->getMail();
// Faire quelque chose avec l'adresse e-mail récupérée
// echo "Adresse e-mail associée au token : " . $adresseMail;
} else {
// Le token n'existe pas dans la table des utilisateurs
// echo "Token non valide.";
}
// var_dump($adresseMail);
// exit;
// // Initialiser les variables de session
// $_SESSION['tokenMail'] = $tokenMail;
// $_SESSION['tokenMailSansCode'] = $tokenMailSansCode;
// $_SESSION['utilisateur'] = $utilisateur;
// // Vérifiez si les variables de session existent
// $tokenMailSession = isset($_SESSION['tokenMail']) ? $_SESSION['tokenMail'] : null;
// $tokenMailSansCodeSession = isset($_SESSION['tokenMailSansCode']) ? $_SESSION['tokenMailSansCode'] : null;
// $utilisateurSession = isset($_SESSION['utilisateur']) ? $_SESSION['utilisateur'] : null;
// // Nettoyez les variables si nécessaire
// $tokenMailSession = filter_var($tokenMailSession, FILTER_SANITIZE_STRING);
// $tokenMailSansCodeSession = filter_var($tokenMailSansCodeSession, FILTER_SANITIZE_STRING);
// Faire la suite
// On vérifie que le formulaire est envoyé
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
var_dump($idRole);
exit;
// Utilisez les variables de session pour le traitement du formulaire
//var_dump($_SESSION['idRoleBase']);
// var_dump($tokenMailSansCode);
var_dump($_SESSION['idRoleBase']); // Ajoutez cette ligne pour utiliser la variable de session
exit;
// Enlever le code de securite brut 13A5 Supprimer les 4 derniers caractères
$tokenMailSansCode = substr($tokenMail, 0, -4);
var_dump($tokenMailSansCode);
exit;
// Vérifier si le token existe dans la table des utilisateurs
$utilisateur = Utilisateurs::getUtilisateurByToken($tokenMailSansCode);
$adresseMail = strtolower($utilisateur->getMail());
//Mail Nettoyage et validation
$mailEnvoye = strtolower(trim(filter_input(INPUT_POST, 'mail', FILTER_SANITIZE_STRING)));
var_dump($adresseMail);
var_dump($mailEnvoye);
exit;
// Vérifier si $adresseMail est identique à $mailEnvoye
if ($adresseMail === $mailEnvoye) {
// Faire quelque chose car les adresses e-mail sont identiques
// ...
} else {
// Les adresses e-mail ne sont pas identiques, gérer cela si nécessaire
// ...
}
}
include(dirname(__FILE__).'/../Vues/deblocageCompte.php');
Merci par avance pour votre aide.
@+ Filou