probleme variable dans session?

Eléphant du PHP | 250 Messages

20 août 2005, 23:39

Bonjour,

Ca fait des heures et des heures que j'essaie vainement de comprendre pourquoi cela ne fonctionne pas :shock:
Je tente de faire passer des variables en session apres la phase d'authentification du membre....
En fait, il n'y a plus de message d'erreur mais en testant, on arrive sur la page membre sans que la (les) variable s'affiche.
Voici le code du programme:
<?php
include_once("config_script.php");
// On commence par récupérer les champs
if(isset($_POST['pseudo']))$login=addslashes($_POST['pseudo']);
else $login="";
if(isset($_POST['passe']))$passe=htmlentities($_POST['passe']);
else $passe="";
// On vérifie si les champs sont vides
if(empty($login) OR empty($passe))
    {
    echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
    }
// on se connecte à MySQL
       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
 mysql_select_db('xxxxx',$db)  or die('Erreur de selection '.mysql_error());
 // on regarde si le type existe déjà
$req = mysql_query("select * from membres where pseudo='". $login ."'",$db)or die(mysql_error());
    // on compte le nombre de résultats
    $res = mysql_num_rows($req); 
    if($res==0)  // le pseudo n'existe pas, on affiche un message d'erreur
        {
        echo '<center><font color="red">Erreur de pseudo et/ou mot de passe<br> SINON, VEUILLEZ PASSER PAR LA PAGE INSCRIPTION</font>';
        }
		    else  // Le pseudo est ok, on démarre une session
        {    	
session_start();
session_register("pseudo");
session_register("passe");
$_SESSION['pseudo'] = '';
$_SESSION['passe'] = ''; 
header("Location: page_membre.php");
}
mysql_close();
?>


Mammouth du PHP | 19672 Messages

20 août 2005, 23:41

Le session_start() : remonte le à la première ligne de code:
<?php
session_start();
// suite du code...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 250 Messages

20 août 2005, 23:58

:(
J'ai déplacé le session_start mais cela merde toujours, on arrive bien sur la page membre mais l'echo du pseudo s'affiche pas, le cadre demeure vide. voici le code de page_membre au cas où?
<? 
session_start();
if (!session_is_registered("pseudo"))
{
echo "Désolé mais vous devez etre <strong>INSCRIT </strong> pour accéder à cette page !";
}
include ("config_script.php"); 
echo"<body background='images/fond.jpg' bgproperties='fixed'>
<center><img src='images/banniere.jpg' width='468' height='68'></center>
<br><br>
<center>
<a href='index.php'><img border='0' src='images/accueil.jpg' width='100' height='30'></a>
<a href='regles.php'><img border='0' src='images/regles.jpg' width='100' height='30'></a> 
<a href='inscription.php'><img border='0' src='images/sinscrire.jpg' width='100' height='30'></a>  
<a href='jouer.php'><img border='0' src='images/jouer.jpg' width='100' height='30'></a>  
<a href='liens.php'><img border='0' src='images/liens.jpg' width='100' height='30'></a>
<a href='infos.htm'><img border='0' src='images/infos.jpg' width='100' height='30'></a> 
<a href='http://xxxxx.forumactif.com/'><img border='0' src='images/forum.jpg' width='100' height='30'></a>
</center>";
<center>
<table border='1' cellspacing='4' cellpadding='8' width='45%'>
<tr>
<td>
echo $_SESSION['pseudo']; 
</td>
</tr>
</table></center>
?>

Mammouth du PHP | 19672 Messages

21 août 2005, 00:02

Et si tu ne mélangeais pas n'importe comment PHP et HTML ?
<?
session_start();
if (!isset($_SESSION['pseudo']))
{
    echo "Désolé mais vous devez etre <strong>INSCRIT </strong> pour accéder à cette page !";
}
else
{
    include ("config_script.php");
?>
<body background='images/fond.jpg' bgproperties='fixed'>
<center><img src='images/banniere.jpg' width='468' height='68'></center>
<br><br>
<center>
<a href='index.php'><img border='0' src='images/accueil.jpg' width='100' height='30'></a>
<a href='regles.php'><img border='0' src='images/regles.jpg' width='100' height='30'></a>
<a href='inscription.php'><img border='0' src='images/sinscrire.jpg' width='100' height='30'></a>  
<a href='jouer.php'><img border='0' src='images/jouer.jpg' width='100' height='30'></a>  
<a href='liens.php'><img border='0' src='images/liens.jpg' width='100' height='30'></a>
<a href='infos.htm'><img border='0' src='images/infos.jpg' width='100' height='30'></a>
<a href='http://xxxxx.forumactif.com/'><img border='0' src='images/forum.jpg' width='100' height='30'></a>
</center>";
<center>
<table border='1' cellspacing='4' cellpadding='8' width='45%'>
  <tr>
    <td>
<?php
    echo $_SESSION['pseudo'];
?>
    </td>
  </tr>
</table>
</center>
<?php
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1885 Messages

21 août 2005, 00:04

Bonjour,

session_register() = caca
Il faut utiliser soit session_register() ou $_SESSION. Il va sans dire que je te recommande fortement $_SESSION.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP