BOn j'ai tout refais étape par étape et j'ai un soucis. J'arrive à accéder à mes pages si je saute la vérification de session ... aucune variable n'est conservée dans mes pages ...
page BO_identification.php
<html><head>
<title>Walltek - Back office identification</title>
</head>
<body bgcolor="#9d9d9d"><br><br><br>
<CENTER><table border=0 width=400 cellpadding=0 cellspacing=0><tr><td><table border=1 width=100% bordercolor="#ed9200" bgcolor="#ed9200">
<tr>
<td bgcolor='#FFFFdd' align=center>
<CENTER><B><font size="4" face="Verdana, Arial, Helvetica, sans-serif">ACCES BACK OFFICE</FONT></B><br><br>
<form method="post" action="BO_gestion.php">
<font face="Verdana" size="2"><B>Identifiant : </B><br><input type="text" name="Pseudo"><br>
<font face="Verdana" size="2"><B>Mot de passe :</B><br><input type="password" name="Pass"><br>
<input type="submit" name="submit" value="Envoyer">
</form>
</td>
</tr></table><tr><td valign=top align=center>
<img src="graphs/cadenas.gif">
</td></tr>
</table>
</body></html>
page BO_gestion.php
<?php
session_start();
unset ($_SESSION['loginOK']);
// On effectue les traitements qu'à la condition que les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['Pseudo'])) && (!empty($_POST['Pass'])) ) {
$Pseudo = $_POST['Pseudo'];
$Pass = $_POST['Pass'];
include "config.php";
$sql = "SELECT * FROM WALLTEK_ACCES WHERE Pseudo='".$Pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// Si l'utilisateur existe
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// Si le mot de passe est correct
if ($Pass == $data['Pass']) {
echo "ok";
$_SESSION['Pseudo'] = $Pseudo;
$_SESSION['Pass'] = $Pass;
$_SESSION['loginOK'] = 'ok';
$_SESSION['email'] = $data['wt_acces_email'];
$_SESSION['nom'] = $data['wt_acces_nom'];
?>
<HTML>
<head>
<title>WALLTEK - Back Office</title>
</head>
<frameset cols="150,*" frameborder=0 border=0 framespacing=0>
<frame name=a scrolling=no noresize src="BO_menu.php">
<frame name=b src="BO_accueil.php">
</frameset><noframes>Le naviguateur n'affiche pas les frames.</noframes>
</body></HTML>
<?php
}
// Si le mot de passe est incorrect
else{
$erreur = "ok";
$message = "ERREUR<br />Votre mot de passe est incorrect.";
}
}
// Si l'utilisateur n'existe pas
else{
$erreur ="ok";
$message = "ERREUR<br />Ce nom d'utilisateur n'existe pas.";
}
}
// Si il manque soit le pseudo, soit le pass.
else{
$erreur = "ok";
$message = "ERREUR<br />Veuillez entrer votre login et votre mot de passe.";
}
// Message d'erreur
if ($erreur =="ok"){
echo "<HTML>
<head>
<title>WALLTEK - Back Office</title>
</head>
<body bgcolor='#9d9d9d'><br /><br /><br />
<table border=0 width=400 cellpadding=0 cellspacing=0 align=center><tr><td><table border=1 width=100% bordercolor='#ed9200' bgcolor='#ed9200'>
<tr>
<td bgcolor='#FFFFdd' align=center>
<B><font size='4' face='Verdana, Arial, Helvetica, sans-serif'>ACCES BACK OFFICE</FONT></B><br /><br />
<font color=red>".$message."</font></b><br><br>
<a href='BO_identification.php'>retour</a><br /><br /><br />
</td>
</tr></table><tr><td valign=top align=center><img src='graphs/cadenas.gif'></td></tr></table>
</body></html>";
}
?>
BO_menu.php
Je précise qu'il n'y a là pas encore de verif de login
<?php
session_start();
?>
<html>
<head>
<title>menu</title>
</head>
<body bgcolor='#ed9200'>
<br><center>
<span class=titre><b>BACK OFFICE</b><br><font size=1><?php echo $_SESSION['nom']; ?><br>
<a href="BO_logout.php" target="_top">déconnexion</font></a></span><br><br><br>
menus bla bla
?>
</center>
Sur le menu il devrait afficher la variable "nom" mais il n'affiche rien.
Et si je met un truc du genre il me renvoit direct à la page d'erreur :
<?php
session_start();
if($_SESSION['loginOK'] != 'ok'){
header("location: BO_erreur.php");
}
?>
A préciser que des tests simples de création et destruction de variables de sessions fonctionnent ...
A préciser aussi que mon session.save_path est renseigné avec tmp/ mais je n'ai aucun repertoire tmp/ sur mon serveur. Je ne sais tout bonnement pas ou le créer ! J'ai testé déjà de le créer dans chaque repertoire mais rien ne bouge. Le serveur est celui de la boite donc il n'y a pas que le webserver dessus j'ai pas mal de possibilité quand à la position de ce repertoire de mort !!! Celà pourrait venir de là en sachant que ça fonctionne avec des tests simples ? (celà prouve que les variables sont bien enregistrées non ?)