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 :/
Normal ce n'est pas l'objet data que tu dois utiliser dans $_SESSION mais $count du coup