Sessions PHPBB - Erreur fonction append_sid()
Bonjour,
Je vous présente mon problème.
Grâce à PHPBB, j'ai créer un script me permettant de me connecter directement a partir de mon site. ( PHPBB mettant a disposition les documents pour réaliser se script : http://forums.phpbb-fr.com/documenta...jet154874.html ).
Sur chacune des pages de mon site web j'inclus deux fichiers.
Avant le doctype j'inclus espace_membre_forum.php :
Code:
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
| <?php
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
if (isset($_GET['logout']))
{
$user->session_kill();
$user->session_begin();
}
if (isset($_POST['login']))
{
$username = request_var('username', '', true);
$password = request_var('password', '', true);
$autologin = (!empty($_POST['autologin'])) ? true : false;
$viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;
$admin = 0;
$result = $auth->login($username, $password, $autologin, $viewonline, $admin);
if ($result['status'] != LOGIN_SUCCESS)
{
$err = $user->lang[$result['error_msg']];
if ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')
{
$err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
}
}
else
{
$auth->acl($user->data);
}
}
?> |
Puis un fichier header.php qui mets le formulaire de connexion par dessus la bannière :
Code:
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
| <div id="header">
<div id="header_connexion">
<?php
if ($user->data['user_id'] != ANONYMOUS)
{
echo 'Bienvenue ' . $user->data['username'] . '<br />';
echo '-----<br /><a href="' . append_sid('http://fanmetalalchemist.free.fr/index.php?logout=true') . '">Déconnexion</a>';
}
else
{
if($err)
{
echo "<h5>$err</h5>";
}
?>
<form method="post">
Pseudo:<br />
<input type="text" tabindex="1" name="username" size="25" /><br />
Mot de passe:<br />
<input type="password" tabindex="2" name="password" size="25" /><br />
<input type="submit" name="login" tabindex="5" value="Connexion" />
</form>
<?php
}
?>
</div>
</div> |
La fonctipn append_sid, est dans le fichier functions.php.
Ce fichier est inclus dans common.php, lui même inclus dans header.php, qui, est lui même inclus dans chacune de mes pages ( Comme dit ci-dessus ).
Voici un exemple d'une page de mon site web :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php include("./includes/espace_membre_forum.php"); ?>
<!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">
<?php include("./includes/head.php"); ?>
<body>
<?php include("./includes/header.php"); ?>
<?php include("./includes/menu.php"); ?>
<div id="corps">
Article bla bla bla
</div>
<?php include("./includes/footer.php"); ?>
</body>
</html> |
Problème :
Lorsque je suis connecté, et que je change de page ( Ex: de index.php à staff.php, situés tous deux au même niveau ), ce message d'erreur apparait :
Citation:
Fatal error: Call to undefined function append_sid() in /mnt/132/sdb/6/e/fanmetalalchemist/includes/header.php on line 7
Et cela même si je ne suis pas connecté.
Auriez-vous une réponse?
Merci.