[RESOLU] Fonction login ne fonctionne plus

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Fonction login ne fonctionne plus

Re: Fonction login ne fonctionne plus

par Spols » 19 août 2020, 08:29

Les : signifie que ce qui suit est un token qui devra être remplacé par les valeur du tableau.

cela permet de séparer la logique de ta requète avec les paramètre qui changeront à chaque éxecution

Re: Fonction login ne fonctionne plus

par superNoob » 19 août 2020, 05:46

Je ne comprends même pas les : dans la requête si quelqu'un peut me le traduire,
il me semble que c'est récent dans php, mais j'aimerais savoir ce que j'écris, et je pourrai progresser merci !!!

Code : Tout sélectionner

$user = $db->query('SELECT * FROM users WHERE (username = :username OR email = :username) AND confirmed_at IS NOT NULL', ['username' => $username])->fetch();

Re: Fonction login ne fonctionne plus

par superNoob » 19 août 2020, 02:40

nouvelle info, j'ai testé avant de rajouter des tables, qui sont bien prises en compte lors de l'inscription et ça fonctionne.
Pourquoi? ce code n'a pas de souci pourtant !? Et en database j'ai l'inscription avec tous les champs qui fonctionnent.

Code : Tout sélectionner

public function login($db, $username, $password, $remember = false){ $user = $db->query('SELECT * FROM users WHERE (username = :username OR email = :username) AND confirmed_at IS NOT NULL', ['username' => $username])->fetch(); if(password_verify($password, $user->password)){ $this->connect($user); if($remember){ $this->remember($db, $user->id); } return $user; }else{ return false; } }

Fonction login ne fonctionne plus

par superNoob » 19 août 2020, 00:49

Bonjour,
Voici mon nouveau problème,
J'ai un problème avec une connexion utilisateurs qui ne fonctionne pas.
Pourtant la BDD et la fonction register ça marche,... et là je suis bien connecté avec la redirection.
Mais sur la page login Je n'arrive pas à avoir le message "Vous êtes maintenant connecté" ni la connexion.

Voici le code à votre disposition Cordialement

Code : Tout sélectionner

require 'inc/header.php'; require 'inc/bootstrap.php'; $auth = App::getAuth(); $db = App::getDatabase(); $auth->connectFromCookie($db); if(!empty($_POST) && !empty($_POST['username']) && !empty($_POST['password'])){ if($auth->user()){ App::redirect('account.php'); } $user = $auth->login($db, $_POST['username'], $_POST['password'], isset($_POST['remember'])); if($user) { $_SESSION['auth'] = $user; $_SESSION['flash']['success'] = 'Vous êtes maintenant connecté'; App::redirect('account.php'); exit(); }else{ $_SESSION['flash']['danger'] = 'Identifiant ou mot de passe incorrect'; } } ?