Deprecated: Function session_is_registered()
bugs2010
-
Melooo Messages postés 1476 Statut Membre -
Melooo Messages postés 1476 Statut Membre -
Bonjour,
je créer actuellement mon site et j'ai un message d'erreur : "Deprecated: Function session_is_registered() is deprecated in" qui a la base n'apparais pas sur mon serveur free.
enfaite cette page et un volet qui et en include dans ma page index.php.
voici le script :
<div id="volet">
<?php
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){ ?>
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
<?php
}
else {
?>
<div id="identif">
<form method="post" action="traitement1.php">
<p>
<input type="text" name="login" id="login" value="Identifiant" onfocus="if(this.value=='Identifiant')this.value='';" onblur="if(this.value=='')this.value='Identifiant';"/>
<input type="password" name="pass" id="pass" value="Mot de passe" onfocus="if(this.value=='Mot de passe')this.value='';" onBlur="if(this.value=='')this.value='Mot de passe';"/>
<input type="submit" value="s'identifier" /></p>
</form>
</div>
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
<?php } ?>
</div>
merci pour votre aide
je créer actuellement mon site et j'ai un message d'erreur : "Deprecated: Function session_is_registered() is deprecated in" qui a la base n'apparais pas sur mon serveur free.
enfaite cette page et un volet qui et en include dans ma page index.php.
voici le script :
<div id="volet">
<?php
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){ ?>
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
<?php
}
else {
?>
<div id="identif">
<form method="post" action="traitement1.php">
<p>
<input type="text" name="login" id="login" value="Identifiant" onfocus="if(this.value=='Identifiant')this.value='';" onblur="if(this.value=='')this.value='Identifiant';"/>
<input type="password" name="pass" id="pass" value="Mot de passe" onfocus="if(this.value=='Mot de passe')this.value='';" onBlur="if(this.value=='')this.value='Mot de passe';"/>
<input type="submit" value="s'identifier" /></p>
</form>
</div>
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
<?php } ?>
</div>
merci pour votre aide
20 réponses
-
Bonjour,
Deprecated signie que la "fonction" utilisée est obsolète,
Maintenant il faut utiliser ceci :<?php session_start(); $_SESSION['bidule'] = "Bidule"; ?>
-
en effectuant cela j'ai cette erreur :
Notice: A session had already been started - ignoring session_start() in
Notice: Undefined index: privilege in
<?php
session_start();
if ($_SESSION['privilege'] == "admin"){ ?>
<div id="volet">
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
</div>
<?php
}
else {
?> -
oui effectivement sur la page index.php j'include cette page.
donc je supprime session_start -
apres suppression de session_start je me retrouve avec l'erreur suivant :
Notice: Undefined index: privilege in -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je donne une valeur sur la page index.php
<?php require ("include/connexion.php"); ?>
<?php
session_start();
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = md5($_POST['pass']);
mysql_select_db($base, $db);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'");
$verif = mysql_query($verif_query, $db) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
session_register("authentification");
$_SESSION['niveau'] = $row_verif['niveau'];
$_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:index.php?page=11");
}
else {
header("Location:index.php?page=7");
}
}
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){
$prenom = $_SESSION['prenom'];
session_unset("authentification");
header("Location:index.php?page=10");
}
?> -
Tu as deux fois l'ouverture de la balise php
Sinon sur cette page essayes de faire un echo de ta session ;) -
-
Tout simplement :
echo $_SESSION['privilege'];
sur ta page index
-
mais en faite je ne comprends pas car en faite $_session privilége n'a pas de valeur car $utilisateur n'existe pas.
apres verification de l'ID et du passe $_session privilége et générer avec les infos dans la base MYSQL -
-
mais comme je mets $_session privilége avec un if et puis un else donc normalement comme $_session privilége n'existe pas il devrait lancer le else.
-
Mysql_num_rows compte le nombre de résultat généré par une requête,
et toi tu fais
if($utilisateur)
Met lui une valeur ! -
enfaite je compte le nombre de résultat.
tu pense que je devrais mettre un mysql_fetch_assoc au lieu de mysql_num_rows??-
mysql_num_rows compte le nombre de résultats d'une requete, tandis que le mysql_fetch_assoc te met les résultats dans un tableau assocatif,
Donc je ferais un truc du genre :$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); $verif = mysql_query($verif_query, $db) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $utilisateur = mysql_num_rows($verif); if($utilisateur == 1) { echo "identifiants ok"; } else { echo "identifiant pas ok"; } Si ta requete dégage un résultat cela veut dire que l'utilisateur existe dans la base de données, si elle dégage aucun résultats cela veut dire que l'utilisateur n'existe pas
-
-
J'ai mis ce code dans mon volet :
if($utilisateur == 1)
{
echo "identifiants ok";
}
else
{
echo "identifiant pas ok";
}
mais il m'indique cette erreur :
Notice: Undefined variable: utilisateur in -
ok je mets quoi sur la page index.php :
<?php require ("include/connexion.php");
session_start();
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = md5($_POST['pass']);
mysql_select_db($database_dbprotect, $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'");
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
session_register("authentification");
$_SESSION['niveau'] = $row_verif['niveau'];
$_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:index.php?page=11");
}
else {
header("Location:index.php?page=7");
}
if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) {
header("Location:index.php?page=8");
}
}
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){
$prenom = $_SESSION['prenom'];
session_unset("authentification");
header("Location:index.php?page=10");
}
?>
et je mets quoi sur le volet ? :
<?php
if($utilisateur == 1)
{
echo "identifiants ok";
}
else
{
echo "identifiant pas ok";
}
?>
merci pour ton aide mais la je me perds dans le code ^^ -
J'ai modifier session_start(); et je verifie car j'ai inserer la verification dans le volet et reviens en : identifiant pas ok
mais c'est normal vue que je ne m'identifie pas avec mon login et passe -
ben non j'ai toujours une erreur :
Notice: Undefined variable: utilisateur in C:\EasyPHP5.3.0\www\bc\themes\volet.php on line 4
identifiant pas ok
ligne 4 : if($utilisateur == 1){ -
la page volet.php
<?php
if($utilisateur == 1)
{
echo "identifiants ok";
}
else
{
echo "identifiant pas ok";
}
?>
<div id="volet">
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
</div>
<div id="identif">
<form method="post" action="traitement1.php">
<p>
<input type="text" name="login" id="login" value="Identifiant" onfocus="if(this.value=='Identifiant')this.value='';" onblur="if(this.value=='')this.value='Identifiant';"/>
<input type="password" name="pass" id="pass" value="Mot de passe" onfocus="if(this.value=='Mot de passe')this.value='';" onBlur="if(this.value=='')this.value='Mot de passe';"/>
<input type="submit" value="s'identifier" /></p>
</form>
</div>
<div id="volet1">
<a href="index.php?page=2">- menu1</a><br />
<a href="index.php?page=5">- menu1</a><br />
</div>
<div id="volet2">
<a href="index.php?page=30">- menu1</a><br />
<a href="index.php?page=13">- menu1</a><br />
<a href="index.php?page=12">- menu1</a><br />
<a href="index.php?page=35">- menu1</a><br />
</div>
</div>
-------------------------------------------------------------------------------------
la page index.php
<?php
session_start();
require ("include/connexion.php");
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = md5($_POST['pass']);
mysql_select_db($database_dbprotect, $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'");
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
session_register("authentification");
$_SESSION['niveau'] = $row_verif['niveau'];
$_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:index.php?page=11");
}
else {
header("Location:index.php?page=7");
}
if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) {
header("Location:index.php?page=8");
}
}
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){
$prenom = $_SESSION['prenom'];
session_unset("authentification");
header("Location:index.php?page=10");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>en développement</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="zoombox/jquery.js"></script>
<script type="text/javascript" src="zoombox/zoombox.js"></script>
<script type="text/javascript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>
<body>
<div id="page">
<?php
include("themes/header.php");
?>
<div id="conteneur">
<div id="contenu">
<?php
$page = (isset($_GET['page']) && $_GET['page'] != '' ? $_GET['page'] : '0');
if(isset($page)){
if(!is_numeric($page)){
echo "Erreur page inconu";
exit;
}
}
switch($page)
{
case'0': include("page/accueil.php");
break;
case '1': include("page/qsn.php");
break;
default: include("page/accueil.php");//page par défaut
break;
}
?>
</div>
<div id="voletlog">
<?php
include ("themes/volet.php");
?>
</div>
</div>
<?php
include ("themes/pied.php");
?>
</div>
</body>
</html>
--------------------------------------------------------------------------------------------
merci pour ton aide -
excuse moi mais je comprends pas bien ce que tu me dit car enfaite le code normalement devrait marcher
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){
j'execute cela
}
else {
j'execute cela
}
?>
car si session privilége n'existe pas il execute le else ? non ? -
Bon les mecs j'ai trouver une solution, biensur c'est pas le top mais l'erreur n'apparait plus.
if ($_SESSION['authentification'] = TRUE){
}
merci pour vos avis sur ce rajout.