Fatal error: Call to undefined function session_is_registered()

Résolu/Fermé
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 - 2 sept. 2015 à 19:20
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 - 3 sept. 2015 à 14:02
Bonjour à tous,

Sur un script pour un calendrier en ligne j'ai ce message d'erreur lorsqu'on veux ajouter un événement. Voici le lien :
http://www.freebiker.net/php/xlagenda403/index.php

Je me doute bien que c'est depuis le passage a PHP 5.4 sur mon serveur, mais je ne sais trop quoi faire.

Quelqu'un peut il m'aider?

Merci



2 réponses

freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
Modifié par baladur13 le 2/09/2015 à 20:35
voila le code

<?php
session_start();
include("../include/data.php");
include("../include/connexion.php");
include("../include/functions.php");
//INITIALISATION DES VARIABLES
$authorised=0;
$erreur=0;
$select=0;
$texte=Null;
$test_serveur=0;
//RECUPERATION DES DONNEES
$server=(isset($_SERVER["SERVER_NAME"])) ? $_SERVER["SERVER_NAME"] : Null;
$the_user=(isset($_SESSION['the_user'])) ? $_SESSION['the_user'] : Null;
$the_id=(isset($_SESSION['the_id'])) ? $_SESSION['the_id'] : Null;
$envoye=(isset($_POST['envoye'])) ? $_POST['envoye'] : Null;
$nom=(isset($_POST['nom'])) ? $_POST['nom'] : Null;
$description=(isset($_POST['description'])) ? $_POST['description'] : Null;
$categorie=(isset($_POST['categorie'])) ? $_POST['categorie'] : Null;
$lieu=(isset($_POST['lieu'])) ? $_POST['lieu'] : Null;
$contact=(isset($_POST['contact'])) ? $_POST['contact'] : Null;
$adresse=(isset($_POST['adresse'])) ? $_POST['adresse'] : Null;
$email=(isset($_POST['email'])) ? $_POST['email'] : Null;
$telephone=(isset($_POST['telephone'])) ? $_POST['telephone'] : Null;
$fax=(isset($_POST['fax'])) ? $_POST['fax'] : Null;
$lien=(isset($_POST['lien'])) ? $_POST['lien'] : Null;
$url=(isset($_POST['url'])) ? $_POST['url'] : Null;
$date_debut=(isset($_POST['date_debut'])) ? $_POST['date_debut'] : "jj/mm/aaaa";
$date_fin=(isset($_POST['date_fin'])) ? $_POST['date_fin'] : "jj/mm/aaaa";
$heure_debut=(isset($_POST['heure_debut'])) ? $_POST['heure_debut'] : "hh:mm";
$heure_fin=(isset($_POST['heure_fin'])) ? $_POST['heure_fin'] : "hh:mm";
//SUPPRESSION DES SLASHES SI NECESSAIRE
if (get_magic_quotes_gpc())
{
$date_debut=stripslashes($date_debut);
$date_fin=stripslashes($date_fin);
$heure_debut=stripslashes($heure_debut);
$heure_fin=stripslashes($heure_fin);
$nom=stripslashes($nom);
$description=stripslashes($description);
$lieu=stripslashes($lieu);
$contact=stripslashes($contact);
$adresse=stripslashes($adresse);
$email=stripslashes($email);
$telephone=stripslashes($telephone);
$fax=stripslashes($fax);
$lien=stripslashes($lien);
$url=stripslashes($url);
}
//PROTECTION POUR EVITER LES INJECTIONS SQL
$date_debut=mysql_real_escape_string($date_debut);
$date_fin=mysql_real_escape_string($date_fin);
$heure_debut=mysql_real_escape_string($heure_debut);
$heure_fin=mysql_real_escape_string($heure_fin);
$nom=mysql_real_escape_string($nom);
$description=mysql_real_escape_string($description);
$lieu=mysql_real_escape_string($lieu);
$contact=mysql_real_escape_string($contact);
$adresse=mysql_real_escape_string($adresse);
$email=mysql_real_escape_string($email);
$telephone=mysql_real_escape_string($telephone);
$fax=mysql_real_escape_string($fax);
$lien=mysql_real_escape_string($lien);
$url=mysql_real_escape_string($url);
//CONTROLE DE LA VALIDITE DES ID
if (isset($categorie) AND (!is_numeric($categorie)))
{
die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr">
<head>
<title><?php echo $titre_page ?> | Administration</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<meta name="author" content="XLAgenda <?php echo $version ?>"/>
<meta name="author-url" content="[http://xavier.lequere.net/xlagenda]"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="stylesheet" href="../include/datepicker/datepicker.css" type="text/css"/>
<meta name="robots" content="noindex, nofollow"/>
<meta http-equiv="pragma" content="no_cache"/>
<script type="text/javascript" src="../include/jquery.js"></script>
<script type="text/javascript" src="../include/datepicker/datepicker.js"></script>
<script type="text/javascript" src="../include/date.js"></script>
<script type="text/javascript" src="../include/tiny_mce/tiny_mce.js"></script>
<?php
if ($editeur_html)
{
?>
<script type="text/javascript">
<!--
 tinyMCE.init({
  mode: "exact",
  elements : "description",
  theme : "simple",
  language : "fr"
 });
-->
</script>
<?php
}
?>
<script type="text/javascript">
<!--
function verifierFormulaire()
{
 var date_debut=document.getElementById("date_debut").value;
 var heure_debut=document.getElementById("heure_debut").value;
 var date_fin=document.getElementById("date_fin").value;
 var heure_fin=document.getElementById("heure_fin").value;
 var nom=document.getElementById("nom").value;
 var categorie=document.getElementById("categorie").value;
 var description=document.getElementById("description").value;
 if ('function' == typeof(getContent))
 {
 var editeur=tinyMCE.activeEditor.getContent();
 }
 var email=document.getElementById("email").value;
 var regDate=new RegExp ("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$");
 var regHeure=new RegExp ("^[0-9]{2}[:]{1}[0-9]{2}$");
 var regEmail=new RegExp ("^[0-9a-z._-]+@{1}[0-9a-z._-]{2,}[.]{1}[a-z]{2,5}$");
 var regSeparateur=new RegExp("[/]+", "g");
 var erreur = 0;
 var message = "";
 if (date_debut == "" || date_debut == "jj/mm/aaaa" || nom == "" || categorie == 0 || (description == "" && editeur == ""))
 {
  var message="Veuillez remplir tous les champs obligatoires.\n";
  var erreur = 1;
 }
 if (date_debut != "" && date_debut != "jj/mm/aaaa" && (!regDate.test(date_debut)))
 {
  var message=message+"Le format de la date de début est incorrect.\n";
  var erreur = 1;
 }
 if (heure_debut != "" && heure_debut != "hh:mm" && (!regHeure.test(heure_debut)))
 {
  var message=message+"Le format de l\'heure de début est incorrect.\n";
  var erreur = 1;
 }
 if (date_fin != "" && date_fin != "jj/mm/aaaa" && (!regDate.test(date_fin)))
 {
  var message=message+"Le format de la date de fin est incorrect.\n";
  var erreur = 1;
 }
 if (heure_fin != "" && heure_fin != "hh:mm" && (!regHeure.test(heure_fin)))
 {
  var message=message+"Le format de l\'heure de fin est incorrect.\n";
  var erreur = 1;
 }
 if (email != "" && (!regEmail.test(email)))
 {
  var message=message+"L\'adresse e-mail est incorrecte.\n";
  var erreur = 1;
 }
 if (date_debut != "" && date_debut != "jj/mm/aaaa" && date_fin != "" && date_fin != "jj/mm/aaaa")
 {
  var elementDate_debut=date_debut.split(regSeparateur);
  var elementDate_fin=date_fin.split(regSeparateur);
  if ((elementDate_fin[2] < elementDate_debut[2]) || ((elementDate_fin[2] == elementDate_debut[2]) && (elementDate_fin[1] < elementDate_debut[1])) || ((elementDate_fin[2] == elementDate_debut[2]) && (elementDate_fin[1] == elementDate_debut[1]) && (elementDate_fin[0] < elementDate_debut[0])))
  {
   var message=message+"La date de fin est antérieure à la date de début.\n";
   var erreur = 1;
  }
 }
 if (erreur)
 {
  alert(message);
  return false;
 }
}

$(function()
{
 $('.date-pick').datePicker();
});
-->
</script>
<style type="text/css">
</style>
<div id="centre">
<img alt="fffffffffffff" height="94" src="../../../img/ban-mecanique-moto.jpg" width="990"/>
<h2>Ajouter un événement</h2>
<?php
include("header.php");
//ON TESTE SI L'UTILISATEUR EST CONNECTE
if (!session_is_registered("the_user"))
{
//SI l'UTILISATEUR N'EST PAS CONNECTE
echo "<p>Votre session a expiré, merci de <a  href=\"index.php\">vous reconnecter</a>.</p>\n";
}
else
{
//SI L'UTILISATEUR EST CONNECTE
//CONTROLE DE L'AUTORISATION D'ACCEDER A LA PAGE
$query="SELECT ajouter,actif FROM $table_users WHERE user='$the_user'";
$result=mysql_query($query);
if ($result)
{
while($ligne=mysql_fetch_array($result))
{
$auth_ajout=$ligne['ajouter'];
$auth_actif=$ligne['actif'];
if (!$auth_ajout)
{
echo "<p>Vous n'êtes pas autorisé à accéder à cette page.<br>\n";
echo "Pour revenir au menu principal, <a href=\"index.php\">cliquez ici</a>.</p>\n";
}
else
{
$authorised=1;
}
}
}
}
//SI l'UTILISATEUR EST AUTORISE A ACCEDER A LA PAGE
if ($authorised == 1)
{
include ("menu.php");
?>


<?php
//SI LE FORMULAIRE VIENT D'ETRE ENVOYE
if ($envoye)
{
if (!$nom OR !$description OR !$categorie OR !$date_debut OR $date_debut == "jj/mm/aaaa")
{
echo "<p class=\"erreur\">Erreur : merci de compléter tous les champs obligatoires.</p>\n";
$erreur="1";
}
elseif (!testDate($date_debut))
{
echo "<p class=\"erreur\">Erreur : la date de début est invalide.</p>\n";
$erreur="1";
}
elseif ($date_fin AND $date_fin != "jj/mm/aaaa" AND !testDate($date_fin))
{
echo "<p class=\"erreur\">Erreur : la date de fin est invalide.</p>\n";
$erreur="1";
}
elseif ($heure_debut AND $heure_debut != "hh:mm" AND !testHeure($heure_debut))
{
echo "<p class=\"erreur\">Erreur : l'heure de début est invalide.</p>\n";
$erreur="1";
}
elseif ($heure_fin AND $heure_fin != "hh:mm" AND !testHeure($heure_fin))
{
echo "<p class=\"erreur\">Erreur : l'heure de fin est invalide.</p>\n";
$erreur="1";
}
else
{
$tab=explode("/",$date_debut);
$date_debut=array("$tab[2]","$tab[1]","$tab[0]");
$date_debut=implode("-",$date_debut);
if ($date_fin AND $date_fin != "jj/mm/aaaa")
{
$tab=explode("/",$date_fin);
$date_fin=array("$tab[2]","$tab[1]","$tab[0]");
$date_fin=implode("-",$date_fin);
}
else
{
$date_fin=$date_debut;
}
if ($heure_debut == "hh:mm")
{
$heure_debut="00:00";
}
if ($heure_fin == "hh:mm")
{
$heure_fin="00:00";
}
if ($url == "[http://]")
{
$url="";
}
if (!$lien AND $url)
{
$lien=$url;
}
//SUPPRESION DU CODE HTML
$nom=strip_tags($nom);
$lieu=strip_tags($lieu);
$contact=strip_tags($contact);
$adresse=strip_tags($adresse);
$description=cleanHtml($description);
//AJOUT DES SAUTS DE LIGNE
if (!$editeur_html)
{
$description=nl2br($description);
}
$query="INSERT INTO $table_agenda (date_debut,date_fin,heure_debut,heure_fin,nom,description,categorie,lieu,contact,adresse,email,telephone,fax,lien,url,id_user,actif) VALUES ('$date_debut','$date_fin','$heure_debut','$heure_fin','$nom','$description','$categorie','$lieu','$contact','$adresse','$email','$telephone','$fax','$lien','$url','$the_id','$auth_actif')";
$result=mysql_query($query);
//ENVOI D'UN EMAIL A L'ADMINISTRATEUR
if ($auth_actif == "0")
{
//ON VERIFIE SI AU MOINS UNE ADRESSE EMAIL EST DANS LA BASE DE DONNEES
$query="SELECT email FROM $table_users WHERE email LIKE '%@%' AND gerer = '1'";
$result=mysql_query($query);
if($result)
{
$total=mysql_num_rows($result);
if ($total)
{
//ON ENVOIE LE MAIL
$nom=stripslashes($nom);
$texte .="$nom\n\n";
$texte .="[http://]$server/$path_agenda/admin";
$tab=explode(".",$server);
if (isset($tab[1]) AND isset($tab[2]))
{
$server=array("$tab[1]","$tab[2]");
$server=implode(".",$server);
$test_serveur=1;
}
$query="SELECT email FROM $table_users WHERE email LIKE '%@%' AND gerer = '1'";
$result=mysql_query($query);
while($ligne=mysql_fetch_array($result))
{
$adresse=$ligne['email'];
if ($email_exp)
{
$headers = "From: $email_exp\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
}
elseif ($test_serveur AND ($server != "free.fr"))
{
$headers = "From: webmaster@{$server}\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
}
else
{
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
}
@mail("$adresse", "XLAgenda - Evénement en attente", $texte, $headers);
}
}
}
}
$nom = stripslashes($nom);
echo "<p class=\"confirmation\">L'événement <b>$nom</b> a été ajouté.</p>\n";
$date_debut="jj/mm/aaaa";
$date_fin="jj/mm/aaaa";
$heure_debut="hh:mm";
$heure_fin="hh:mm";
}
}
if (!$auth_actif)
{
echo "<p class=\"centrertexte\"><b>Votre événement sera ajouté à l'agenda après validation par un administrateur.</b></p>\n";
}
//echo "<p>Les champs suivis d'un * sont obligatoires.</p>\n";
if ($erreur)
{
$nom=stripslashes($nom);
$description=stripslashes($description);
$lieu=stripslashes($lieu);
$contact=stripslashes($contact);
$adresse=stripslashes($adresse);
$telephone=stripslashes($telephone);
$fax=stripslashes($fax);
$lien=stripslashes($lien);
}
?>
<form name="chooseDateForm" id="chooseDateForm" action="ajouter.php" method="post" onSubmit="return verifierFormulaire(this)">
 <table style="width: 74%" align="center">
  <tr>
   <td style="width: 300px"><h3 style="width: 300px">Dates de début et de fin :</h3> (clic sur le carré)
    </td>
    <td style="width: 200px">
<input type="text" name="date_debut" id="date_debut" value="<?php echo $date_debut ?>" class="date-pick"/></td>
    <td>
<input type="text" name="date_fin" id="date_fin" value="<?php echo $date_fin ?>" class="date-pick"/></td>
    </tr>
   </table>
 <table style="width: 74%" align="center">
   <tr>
   
       <td>

 
 <p>
  <label for="adresse">Ville :</label><br/>
  <input name="adresse" type="text" id="adresse" value="<?php if ($erreur) echo $adresse ?>" size="1" style="width: 99px"/>
  <label for="adresse"></label>
 </p>
 
 
    </td>



    <td style="width: 200px">
 <p>
  <label for="nom">Nom de l'événement :</label><br/>
  <input name="nom" type="text" id="nom" value="<?php if ($erreur) echo $nom ?>" size="25"/>
 </p>
    </td>
    
    
    <td style="width: 180px">
 <p>
  <label for="categorie">Catégorie:</label><br/>
  <select name="categorie" id="categorie">
   <option value="0" selected>-- Sélectionner --</option>
   <?php
   //CONSTRUCTION DU MENU CATEGORIES
   $query="SELECT * FROM $table_categories WHERE actif = '1' ORDER BY nom ASC";
   $result=mysql_query($query);
   if($result)
   {
   while($ligne=mysql_fetch_array($result))
   {
   $id=$ligne['id'];
   $nom=$ligne['nom'];
   if (($erreur) AND ($categorie == $id))
   {
   echo "<option value=\"$id\" selected>$nom</option>\n";
   }
   else
   {
   echo "<option value=\"$id\">$nom</option>\n";
   }
   }
   }
   ?>
  </select>
 </p>
    </td>
    <td style="width: 180px">
 
 <p>
  <label for="lieu">Département :</label><br/>
  <input name="lieu" type="text" id="lieu" value="<?php if ($erreur) echo $lieu ?>" size="1"/><strong>
  </strong>
  <label for="lieu"><strong>(2 chiffres) </strong> </label>
 </p>
 
     </td>
    </tr>
   </table>
 <p class="centrertexte">
  <label for="description">Description de  l'événement :</label><br/>
  <textarea name="description" cols="120" rows="5" id="description"><?php if ($erreur) echo $description ?></textarea>
 </p>
 
 <table style="width: 74%" align="center">
  <tr>
   <td style="width: 231px">
 <p>
  <label for="email">Adresse email :</label><br/>
  <input name="email" type="text" id="email" value="<?php if ($erreur) echo $email ?>" size="30"/>
 </p>
      </td>
   <td style="width: 233px">
   <p><label for="telephone">Téléphone :</label><br/>
  <input name="telephone" type="text" id="telephone" value="<?php if ($erreur) echo $telephone  ?>" size="30"/>
   </p>
   </td>
   <td>
 <p>
  <label for="url">Site Web :</label><br/>
  <?php
  if ((!$url) OR (!$erreur))
  {
  $url="[http://]";
  }
  ?>
  <input name="url" type="text" id="url" value="<?php echo $url ?>" size="30"/>
 </p></td></tr></table>
 <p class="centrertexte"> 
  <input type="submit" name="Submit2" value="Ajouter"/>
  <input name="envoye" type="hidden" id="envoye" value="1"/>
 </p>
</form>

<p class="centrertexte"></p>

<p class="centrertexte">
Merci de votre participation. Votre évènement doit être validé par l'administrateur, généralement dans un délai de 24 heures.</a>
</p>


<p class="centrertexte"></p>

<p class="centrertexte">
  <a href="index.php">Menu principal</a> | <a href="close.php">Déconnexion</a>
</p></div>
<?php
}
include("footer.php");
?>

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
0
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
3 sept. 2015 à 06:56
est ce bien dans ce fichier qu'il y a une erreur?
0
Firoxyd Messages postés 97 Date d'inscription mardi 23 juin 2015 Statut Membre Dernière intervention 28 juin 2017 45
3 sept. 2015 à 07:56
Bonjour,

Effectivement c'est le passage en 5.4 qui créer ce problème.
Pour plus d'infos il suffit de regarder dans la doc:
https://www.php.net/manual/fr/function.session-is-registered.php

session_is_registered n'existe plus à partir de cette version, je pense qu'il faut utiliser quelque chose comme isset($_SESSION["test"]).
0
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
3 sept. 2015 à 10:46
merci pour l'info!

cela concerne donc la ligne 202...


J'ai remplacé
if (!session_is_registered("the_user"))
par
isset ($_SESSION["the_user"])

j'ai un syntax error, unexpected

http://www.freebiker.net/php/xlagenda403/admin/ajouter.php
0
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
3 sept. 2015 à 11:01
avec
if isset($_SESSION["the_user"])
j'ai
syntax error, unexpected 'isset'
0
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
3 sept. 2015 à 11:03
avec
if isset($_SESSION['the_user'])
aussi
0
Firoxyd Messages postés 97 Date d'inscription mardi 23 juin 2015 Statut Membre Dernière intervention 28 juin 2017 45
3 sept. 2015 à 11:44
N'oublie pas les parenthèses autour de la condition:
if( isset($_SESSION['the_user']) ) {}
0
freebike Messages postés 104 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 16 juillet 2019 5
Modifié par freebike le 3/09/2015 à 12:27
oupsss!

plus de message d'erreur, mais cela me déconnecte :
Votre session a expiré, merci de vous reconnecter.!
0