Page 1 sur 1

Error Undefiend array key php 8

Posté : 08 déc. 2022, 13:53
par allann
Bonjour

Je developpe une application avec espace membre et session
en local j'ai un php7.03 les sessions fonctionnent correctement sur un serveur d.1e production qui est en php8.1
les sessions de ne pas reconnu et bloquen l'accessa la page protegee
j'ai une erreur php warning Undefiened array key


if (!$_SESSION["usersadc"] && (!$_SESSION["status"]))

les sessions ne sont pas reconnues

mon code de formulaire de loggin

Code : Tout sélectionner

<?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['valider']) && $_POST['valider'] == 'Connection') { if ((isset($_POST['usersadc']) && !empty($_POST['usersadc'])) && (isset($_POST['passwd']) && !empty($_POST['passwd']))) { $passwd=(isset($_POST['passwd'])) ? addslashes($_POST['passwd']) : NULL; $usersadc=(isset($_POST['usersadc'])) ? addslashes($_POST['usersadc']) : NULL; $query="select * from users where usersadc='$usersadc' AND passwd='$passwd'"; $res=pg_query($conn,$query) or die('Erreur SQL !<br />'.$sql.'<br />'. pg_last_error($conn)); $data=pg_fetch_array($res); $num=pg_num_rows($res); if ($num == 1 ) { session_start(); $_SESSION['usersadc']=$data['usersadc']; $_SESSION['passwd']= $_POST['passwd']; $_SESSION['status']= $data['status']; header('Location: appli.php'); } else { $erreur="Compte non reconnu, loggin ou mot de passe incorrect"; } }} ?>
code qui pose probleme

Code : Tout sélectionner

<?php session_start(); if (!$_SESSION["usersadc"] && (!$_SESSION["status"])) { header ("location: ./index.php"); die(); } include "php/init.php"; include "inc/header.php"; if (isset($site)) $site=$_GET['site']; ?>
merci de votre aide

Re: Error Undefiend array key php 8

Posté : 08 déc. 2022, 14:19
par or 1

Re: Error Undefiend array key php 8

Posté : 08 déc. 2022, 15:02
par allann
bonjour

je ne comprends pas le pb

Re: Error Undefiend array key php 8

Posté : 09 déc. 2022, 11:25
par Spols
Le problème n'est pas que tes session ne sont pas reconnue mais que php 8 et + est plus sévère

tu dois donc utiliser isset ou empty

Re: Error Undefiend array key php 8

Posté : 09 déc. 2022, 11:33
par allann
bonjour

oui mais ou je dois declarer isset ou empty
je ne comprends pas et je tourne en rond
donne moi juste un exemple
merci

Code : Tout sélectionner

if (isset($_SESSION["usersadc"] && isset($_SESSION["status"]))) { header ("location: ./index.php"); die(); }

Re: Error Undefiend array key php 8

Posté : 09 déc. 2022, 13:34
par or 1
un exemple :
if (isset($_SESSION["usersadc"] && isset($_SESSION["status"]))) {