Allows PHP

Par Francois Cipriani, il y a 11 ans


Bonsoir tout le mond, je viens de suivre le tutoriel sur les permissions en php par Grafikart et j'ai un problème dès le début !

Ma class auth.php :

<?php class Auth { function login($data) { global $db; $req = $db->prepare('SELECT users.identifiant,users.email,allows.name,allows.slug,allows.level FROM users LEFT JOIN allows ON users.allows_id = allows.id WHERE identifiant = :identifiant AND password = :password'); $req->execute($data); $count = $req->fetchAll(); if($count > 0) { $_SESSION['auth'] = $data[0]; return true; } return false; } } $auth = new Auth(); ?>

et mon login.php :

<?php session_start(); require 'app/db.php'; require 'app/class/auth.php'; $title = 'Connexion'; if(!empty($_POST)) { if($auth->login($_POST)) { }else{ echo 'Mauvais identifiant !'; } } require 'partials/header.php'; ?> <?php if(isset($errorMysql)): ?> <div class="alert alert-danger"> <p> Le site rencontre un problème technique, merci de réessayer plus tard. </p> <strong><?= $e->getMessage(); ?></strong> <p> Localisation du problème à la ligne : <?= $e->getLine(); ?> </p> </div> <?php endif; ?> <div class="page-header"> <h3> <i class="fa fa-lock"></i> Authentification </h3> </div> <div class="alert alert-info"> <i class="fa fa-warning"></i> Vous devez obligatoirement vous authentifier pour continuer. </div> <form action="" method="post"> <div class="form-group"> <label for="identifiant"> Votre identifiant </label> <input type="text" name="identifiant" id="identifiant" class="form-control"> </div> <div class="form-group"> <label for="password"> Votre mot de passe </label> <input type="password" name="password" id="password" class="form-control"> </div> <button type="submit" class="btn btn-default btn-block btn-lg"> S'authentifier </button> </form> <?php require 'partials/footer.php'; ?>

donc quand j'envoie les bonne infos dans le formulaire, il me retourne : Notice: Undefined offset: 0 in C:\wamp\www\app\class\auth.php on line 12
apparement sa vient de la session créer mais je ne voit pas l"erreur :/

1 réponse

Alexandre #lbac, il y a 11 ans

Normal ce n'est pas l'objet data que tu dois utiliser dans $_SESSION mais $count du coup