Trying to access array offset on value of type bool
Résolu
flexi2202
Messages postés
4141
Statut
Membre
-
flexi2202 Messages postés 4141 Statut Membre -
flexi2202 Messages postés 4141 Statut Membre -
bonsoir a tous
je suis occupé a essayer d 'empêcher les utilisateurs non valider d'accéder à l'espace membre
Mais j'ai cette erreur
Trying to access array offset on value of type bool
Malgré que on code fonctionne
voici la ligne ou cela coince
et mon code complet
je suis occupé a essayer d 'empêcher les utilisateurs non valider d'accéder à l'espace membre
Mais j'ai cette erreur
Trying to access array offset on value of type bool
Malgré que on code fonctionne
voici la ligne ou cela coince
if ($userexit['confirme'] != 1)
et mon code complet
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
//on recupere le lien link pour la redirection vers les autres pages
$link = !empty($_GET['link']) ? $_GET['link'] : NULL;
//$referer = ($_SERVER['HTTP_REFERER']);
//echo $referer ;
require_once 'base.php';
if (!empty($_POST['pseudo']) && !empty($_POST['password']))
{
$pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;
// $pseudo = htmlspecialchars($_POST['pseudo']);
//$password = htmlspecialchars($_POST['password']);
// $check = $bdd->prepare('SELECT pseudo, email,id, password FROM utilisateurs WHERE pseudo = ?');
//$check->execute(array( $pseudo ));
//$data = $check->fetch();
//$row = $check->rowCount();
//préparation de la requête et des variables
$sql = 'SELECT pseudo, email,id,confirme, password FROM utilisateurs WHERE pseudo = ?';
$datas = [$pseudo];
//Execution de la requete
try
{
$requete = $bdd->prepare($sql);
$requete->execute($datas);
}
catch(Exception $e)
{
// en cas d'erreur :
echo " Erreur ! " . $e->getMessage();
echo " Les datas : ";
print_r($datas);
}
$data = $requete->fetch();
$row = $requete->rowCount();
$userexit=$requete->fetch();
//si le peusdo est bien dans la base et qu'il soit activer alors on continue sinon on sort
if ($userexit['confirme'] !=1)
{
if ($row == 1)
{
//on verifie le pawword si il est ok on continue , sinon sortie
if (password_verify($password, $data['password']))
{
//on definit et on cree les variables sessions
$_SESSION['user'] = array(
'id' => $data['id'],
'pseudo' => $data['pseudo'],
'email' => $data['email']
);
$_SESSION['id'] = $data['id'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
//on test la variable link si elle est vide on va vers index
if (empty($_SESSION['link']))
{
header('Location: index.php?pseudo=' . $_SESSION['pseudo']);
//sinon on va faire la derniere page visitee
}
else
{
header('location: ' . $_SESSION['link']);
}
die();
}
else
{
header('Location: connexion-site.php?login_err=password');
die();
}
}
else
{
header('Location: connexion-site.php?login_err=already');
die();
}
}
else
{
echo"compte pas activer ";
}
}
?>
A voir également:
- Php notice: trying to access array offset on value of type bool in
- Notice gratuite - Guide
- Deco in paris avis ✓ - Forum Consommation & Internet
- Qwerty to azerty - Guide
- In da place - Forum Mail
- Notice chromecast - Guide
4 réponses
Attention, tu fais deux fois à fetch...
Supprime le premier
$data = $requete->fetch();
$row = $requete->rowCount();
$userexit=$requete->fetch();
Supprime le premier
merci jordane mais la variable $data j'en ai besoin
a cet endroit
a cet endroit
//on verifie le pawword si il est ok on continue , sinon sortie
if (password_verify($password, $data['password']))