[RESOLU] Probleme recupération

Eléphant du PHP | 194 Messages

07 mai 2024, 22:08

Bonjour à tous,

Je bloque depuis 2 jours sur un probléme.
Je ne parviens pas a afficher ma variable dans ma vue.
Je passe bien dans la condition.

Voici mon code (controleur ) :

Code : Tout sélectionner

if ($utilisateurs) { // L'utilisateur existe, vous pouvez vérifier le mot de passe ou effectuer d'autres opérations // Assurez-vous de gérer correctement la logique de connexion ici $idUtilisateur = $utilisateurs['id']; $mailUtilisateur = $utilisateurs['mail']; $pseudoUtilisateur = $utilisateurs['pseudo']; $mdpcUtilisateur = $utilisateurs['mdpc']; $tokenUtilisateur = $utilisateurs['token']; // Récupérez la valeur de cptPirater en fonction de l'idUtilisateur $tentatives = new Utilisateurs($idUtilisateur, $mailUtilisateur, $pseudoUtilisateur, $mdpcUtilisateur); $cptPirater = $tentatives->cptPiraterIdUtilisateur($idUtilisateur); // La on sais ci le cpt est pirater ou pas if($cptPirater ==1){ $code = 17; // suspicion cpt pirater header('Location: /Controleurs/messageSite-ctrl.php?code='.$code); exit; } // Vérifier si le mot de passe fourni correspond au mot de passe crypté en base if (password_verify($mdpConnexion, $mdpcUtilisateur)) { // Le mot de passe est correct // Vous pouvez autoriser la connexion de l'utilisateur // Voir nombre de tentative infructueuse // Voir code tournant + div qui apparait ou modale // Voir bloquage du compte // Voir debloquage du compte // Voir validation pour aller sur le site } else { // Le mot de passe est incorrect // Gérer le cas où le mot de passe ne correspond pas // mdp incorrect // Voir nombre de tentative infructueuse // Vérifier si la tentative de connexion échoue $tentatives->incrementerTentativesInfructueuses($idUtilisateur); // Récupérer la valeur de la colonne 'tentative' de la table 'connexionInfructueuse' $tentativesEchouee = $tentatives->recupererTentativeParIdUtilisateur($idUtilisateur); $tentativesRestantes = 3-$tentativesEchouee; // var_dump($tentativesRestantes); // exit; $cptPirater = $tentatives->cptPiraterIdUtilisateur($idUtilisateur); // Voir envoi du mail pour debloquer if($cptPirater ==1){ // Variable pour l'envoi du mail $debloquerCpt = 'debloquer'; $code = 17; // Code cpt pirater $sujet="Compte bloquer !!!"; $message = "Bonjour $pseudoUtilisateur,<br>Suspicion de piratage de votre compte.<br>Trop de tentatives infrutueuses.<br>Afin de débloquer votre compte, veuillez cliquer sur le lien ci-dessous : <br><a href=\"https://XXXXXXX/Controleurs/debloquageCpt-ctrl.php?token=".$tokenUtilisateur."&code=".$code."&debloquerCpt=".$debloquerCpt."\"><button type=\"button\">Débloquer</button></a>"; $message2 = "Bonjour $pseudoUtilisateur,\nSuspicion de piratage de votre compte.\nTrop de tentatives infructueuses.\nAfin de débloquer votre compte, veuillez cliquer sur le lien ci-dessous :\nXXXXXXX/Controleurs/debloquageCpt-ctrl.php?token=$tokenUtilisateur&code=$code&debloquerCpt=$debloquerCpt"; $destinataire = $mailUtilisateur; $fichier = ''; // Appel de la fonction pour envoyer mail mailSite($sujet,$message,$message2,$destinataire,$fichier); header('Location: /Controleurs/messageSite-ctrl.php?code='.$code); exit; } $code = 16; // 16 erreur dans l'identifiant ou mdp header('Location: /Controleurs/connexion-ctrl.php?code='.$code); exit; } } else { // L'utilisateur n'existe pas mettre message non inscris ou erreur de frappe $code = 15; // erreur mail ou pseudo non connue header('Location: /Controleurs/connexion-ctrl.php?code='.$code); exit; }
Voici ma vue :

Code : Tout sélectionner

<div class=""> Il vous reste <?= $tentativesRestantes; ?> tentative(s) avant le blocage de votre compte. </div>
impossible d'afficher la variable : $tentativesRestantes;

Je passe bien dans ma condition car il me retourne erreur avec le code 16.

Merci par avance pour votre aide.
@+ Filou80

Mammouth du PHP | 2703 Messages

07 mai 2024, 22:32

header('Location: /Controleurs/connexion-ctrl.php?code='.$code);
exit;
suite à cela, toutes les variables de ce code php n'existent plus (sauf à être mises en session ce qui n'est pas le cas).

Eléphant du PHP | 194 Messages

07 mai 2024, 22:39

Merci pour votre retour.

Comment je peux faire pour mettre la valeur dans ma vue , afin de recuperer le nombre de tentative restante.

Merci pour votre aide.
@+ Filou80

Eléphant du PHP | 194 Messages

07 mai 2024, 22:51

header('Location: /Controleurs/connexion-ctrl.php?code='.$code);
exit;
suite à cela, toutes les variables de ce code php n'existent plus (sauf à être mises en session ce qui n'est pas le cas).
Merci de m'avoir éclairer, voici ce que j'ai fait.
Cela fonctionne :

Code : Tout sélectionner

<?php // Vérifiez si $_SESSION['tentativesRestantes'] est défini et non vide if(isset($_SESSION['tentativesRestantes']) && !empty($_SESSION['tentativesRestantes'])) { // Affichez la phrase avec le nombre de tentatives restantes echo $_SESSION['tentativesRestantes'] . " tentative(s) avant le blocage de votre compte."; // Supprimez la variable de session après l'avoir affichée unset($_SESSION['tentativesRestantes']); } ?>
@+ Filou80