Problème PHP Fatal Error:

Fermé
Thibaut - Modifié par Thibaut le 16/12/2013 à 00:58
 Thibaut - 16 déc. 2013 à 22:16
Bonjour,
Je suis en train de faire un site qui contient une zone d'administration, seulement impossible d'afficher l'index de la zone admin, seul le LogIn fonctionne...quand je me connecte je suis redirigé vers la page vide de l'administration qui est censée s'afficher.


Un fichier "error_log" est apparu dans mon FTP et il contient:
[15-Dec-2013 23:49:54 UTC] PHP Fatal error:  Call to undefined function session_is_registered() in /home/(nomdatabase)/public_html/MIL/admin/session.php on line 3

Voici le code du fichier session.php:
<?
session_start();
if (!session_is_registered("admin_user") && !session_is_registered("admin_pass") ){
header ("Location: login.php ");
}
?>

Merci de votre aide.
A voir également:

3 réponses

Utilisateur anonyme
16 déc. 2013 à 08:55
Bonjour

Curieux, c'est comme si ta configuration ne supportait pas les sessions.
1 - Travailles-tu en local ou en ligne ?
2 - As-tu déjà utilisé les sessions dans cette configuration ?
3 - Écris un petit script qui contient en tout et pour tout :
<?php phpinfo(); ?>

et lance-le.
Tu vas avoir un joli affichage avec plein de choses : est-ce que ça parle de sessions ?
0
Bonjour,
Je travail en ligne, que veux tu dire par "installer les sessions" ?
J'ai installé le PHPInfo: et oui il parle de SESSION:

session
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary

Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.upload_progress.cleanup On On
session.upload_progress.enabled On On
session.upload_progress.freq 1% 1%
session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_ upload_progress_
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0

merci de ton aide :)
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
16 déc. 2013 à 21:33
Bonjour,
Le problème ne viens pas des sessions, mais de la fonction utilisé, ton erreur indique clairement qu'elle n'est pas défini.
Cette fonction a en effet été supprimé depuis php 5.4, tu doit donc avoir cette version ou supérieur.
Utilise ceci à la place :
if (!isset($_SESSION["admin_user"]) || isset($_SESSION["admin_pass"]) ){

Je t'ai mis un OU à la place du ET, je trouvais ça plus logique mais à toi de voir :)
0
Merci à vous deux, en faite j'ai trouvé mon problème et je l'ai résolu, voici le code final:
<?
session_start();
if (!isset($_SESSION["admin_user"]) && isset($_SESSION["admin_pass"]) ){
$_SESSION["admin_user"] = $_POST['usr'];
$_SESSION["admin_pass"] = $_POST['pwd'];
header ("Location: login.php ");
}
?>
Il fonctionne parfaitement bien, il est basé sur le script de Nhay, merci à toi :)
0