Bonjour
J'ai le même problème depuis passage à PHP 5.3.0,

Dans la page ou je m'authentifie, je rentre le login et le mot de passe et j'arrive sur une page ou j'ai encore laissé "session_is_registered", la session s'ouvre sans problème sauf le message précisant "Deprecated: Function session_is_registered() is deprecated " ce qui est normal car je l'ai laissé sur cette page "session_is_registered"
Par contre si je vais sur la page ou j'ai remplacé "session_is_registered" par $_SESSION, ca ne fonctionne pas car message "erreur d'authentification"

Pouvez vous m'aider ?

Code avec session_is_registered
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
session_start();
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){  
}
else {
header("Location:index.php?erreur=intru");
}
?>
remplacé par:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
session_start();
if (!isset($_SESSION['authentification'] && $_SESSION['privilege'])) == "admin"){    
}
else {
header("Location:index.php?erreur=intru");
}
?>
Dans la pge ou on doit s'authentifier on retrouve le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<?php
 
session_start(); 
 
if (isset($_POST['login'])){
	$login = $_POST['login']; 
	$pass = md5($_POST['pass']);
 
mysql_select_db($base, $connexion);
$verif_query=sprintf("SELECT * FROM users_info WHERE login='$login' AND pass='$pass'"); 
$verif = mysql_query($verif_query, $connexion) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
 
 
	if ($utilisateur) {	
	    session_register("authentification"); 
 
		$_SESSION['privilege'] = $row_verif['privilege'];  
		$_SESSION['nom'] = $row_verif['nom']; 
		$_SESSION['prenom'] = $row_verif['prenom']; 
		$_SESSION['login'] = $row_verif['login']; 
		$_SESSION['pass'] = $row_verif['pass']; 
 
		header("Location:accueil.php?login=".$row_verif['login']);
}
	else {
		header("Location:index.php?erreur=login");
 
     }
 
}
 
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ 
$prenom = $_SESSION['prenom']; 
session_unset("authentification");
header("Location:index.php?erreur=delog");
}
?>
Pouvez vous m'aider à résoudre mon problème ?
merci