Trying to access array offset on value of type bool
Résolu
flexi2202
Messages postés
3822
Date d'inscription
Statut
Membre
Dernière intervention
-
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
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
- Qwerty to azerty - Guide
- Deco in paris avis ✓ - Forum Consommation & Internet
- Notice chromecast - Guide
- Notice telecommande universelle grundig - Forum Téléviseurs
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']))