Page 1 sur 1

petit souci de sessions

Posté : 10 janv. 2010, 22:54
par graffx
Salut a tous,

j' ai réalisé un petit site ou il y a une partie privée.

J' ai donc fait vite fait un systeme de log avec sessions, d' habitude ca marche bien, et la non, je ne vois pas le souci, si vous pouviez jeter un oeil.

J' ai donc:
header.php
menu.php
index.php

Les trois ont un session_start;

Les deux premiers sont en include dans index.php.

Voici donc mon code qui fonctionne, sauf qu' au final il devrait dire "bienvenue pseudo', hors le formulaire reste en place. Je rapelle que si la session existe, il y a 'bonjour pseudo', sinon on affiche le formulaire. Hors il me dit bien 'connexion reussie', puis retour case depart. Voici ma page:

<?php
 session_start;

$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$mdp = mysql_real_escape_string(htmlspecialchars($_POST['mdp']));
$quete = mysql_query('SELECT pseudo, mdp FROM membres WHERE pseudo="' . $pseudo . '"'); // Si possible, remplace l'&eacute;toile par le nom de tous les champs voulus (ici, que "mdp" apparement)
$nbre = mysql_num_rows($quete);
$donnees = mysql_fetch_assoc($quete);


	  if ($pseudo != NULL)
	  {
if($nbre != 0) //si le pseudo existe
	if($mdp == $donnees['mdp'])
	{


		echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph">&nbsp;</td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Connextion réussie !</span></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><meta http-equiv="Refresh" content="1;URL=index.php"><br /><br /><br /><br />';
	
			}
		else
		{
			echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph">&nbsp;</td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Mauvais identifiants !</span></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><meta http-equiv="Refresh" content="1;URL=index.php"><br /><br /><br /><br />';
			}

		
		else{
			echo '<table width="280" border="0" align="right" cellpadding="0" cellspacing="0"><tr><td height="20" class="ph">&nbsp;</td></tr><tr><td height="19" class="pm"><div align="center"><span class="Style1">Pseudo inéxistant !</span><meta http-equiv="Refresh" content="1;URL=index.php"></div></td></tr><tr><td height="20" class="pb"><a class="admin" href="admin/liste_news.php">.</a></td></tr></table><br /><br /><br /><br />';
			}

}

?>



<table width="280" border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td height="20" class="ph">&nbsp;</td>
  </tr>
  <tr>
    <td height="19" class="pm">
	
	<?php
		if(isset($_SESSION['pseudo']))
		{
		echo '<table width="240" border="0" align="center" cellpadding="0" cellspacing="0"><tr>
          <td><div align="center">Bienvenue, ';
   		echo $_SESSION['pseudo'];
   		echo '</div></td>
        </tr>
      </table>';
		}
		else
		{
   		echo '<form name="log" method="post" action="">
      <table width="240" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td><div align="center">Connection pour l\' acc&eacute;s compet. </div></td>
        </tr>
      </table>
      <br />
      <table width="192" border="0" align="center" cellpadding="0" cellspacing="0">
      
      <tr>
        <td width="91" align="left" valign="middle">Pseudo : </td>
        <td width="159" height="25" colspan="2" align="right" valign="top">
		<input name="pseudo" type="text" size="15"/></td>
      </tr>
      <tr>
        <td align="left" valign="middle">Passe : </td>
        <td height="25" colspan="2" align="right" valign="top">
          <div align="right">
            <input name="mdp" type="password" size="15"/></div>
        </td>
      </tr>
    </table>
	  <br />
	  <div align="center"><input border="0" src="images/main/submit.png" alt="" type="image" Value="submit"></div>
	</form>';
		}
		?>
		

	  
	  
	</td>
  </tr>
  <tr>
    <td height="20" class="pb"><a class="admin" href="admin/liste_news.php"></a></td>
  </tr>
</table>
Merci pour votre aide parce que d' habitude je n' ai pas de souci avec les sessions mais la je plante :/

Re: petit souci de sessions

Posté : 10 janv. 2010, 23:00
par graffx
J' etais sur mon SSH j' en ai profité pour aller voir, un fichier de session est bien créé, j' ai fait en debut de page un print $_SESSION['pseudo']; y a rien. Comprend pas.

Re: petit souci de sessions

Posté : 10 janv. 2010, 23:42
par graffx
dernier indice trouvé:

j' ai oublié de clarée la session:
$_SESSION['pseudo'] = $_POST['pseudo'];
je l' ai mis juste avant le echo 'connexion reussi'.

Il y a toujours un souci.

Si je valide, la page de traitement m' affiche bien 'Bienvenue pseudo' mais aprés redirection , formulaire a nouveau.

Je désespere.

Re: petit souci de sessions

Posté : 10 janv. 2010, 23:59
par ooflorent
Il faut écrire session_start(); et non session_start; !

Re: petit souci de sessions

Posté : 11 janv. 2010, 00:06
par graffx
rolala j' ai honte, merci a toi et pour le derangement :oops:

Re: petit souci de sessions

Posté : 11 janv. 2010, 00:10
par ooflorent
Pas de problème ! Pense à ne pas envoyer d'informations à la sortie tant que tu manipules tes sessions.