[Sessions] Classes et variables de sessions
Bonjour
je rencontre quelques problèmes avec un de mes scripts qui utilise une classe et une variable de session...
voici la partie qui pose problème !
le fichier qui appelle cette classe comporte un session_start(); et appelle correctement la classe (le redirect se fait bien)
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 36 37 38
| class sql
{
function sql($mysql_url, $mysql_login, $mysql_pass, $mysql_bdd)
{
mysql_connect($mysql_url, $mysql_login, $mysql_pass);
mysql_query("USE `" . $mysql_bdd . "`");
}
}
class sql__users extends sql
{
function inscription($login, $pass)
{
$login = addslashes(htmlentities($login));
$pass = sha1($pass);
mysql_query("INSERT INTO `users` VALUES ('" . $login . "', '" . $pass . "', 'en attente');");
if (mysql_errno() != 1062)
{
$_SESSION['js_alert'] = 'Inscription bien effectuée. Les administrateurs ont été prévenus de votre inscription et activeront votre compte prochainement.';
header('location: index.php');
}
else
{
$_SESSION['js_alert'] = 'Login déja existant. Veuillez en choisir un autre.';
unset($_POST['login']);
}
}
function sql__users($act, $var1, $var2)
{
switch($act)
{
case 'inscription':
$this->inscription($var1, $var2);
break;
}
}
} |
si jamais le redirect ne se fait pas, la variable de session est bien lue...
mais si le redirect a lieu, et mène au fichier index.php
Citation:
session_start();
if (!empty($_SESSION['js_alert'])) { echo '<script language="javascript">alert("' , $_SESSION['js_alert'] , '");</script>'; unset($_SESSION['js_alert']); }
la variable de session est considérée comme vide !
j'ai testé sur mon serveur personnel (apache 1.3.33, php 4.4.0), et également sur mon serveur free : aucune différence !
est-ce inévitable ?
comment régler ce problème ?
merci d'avance