Votre question

php --> sessions

Tags :
  • Connexion
  • Programmation
Dernière réponse : dans Programmation
30 Juin 2008 15:55:28

Bonjour,
Je suis apprenti programmeur sur les langages du web, et je suis face à un problème
sur les sessions en php5. Je m'explique : j'ai créé une page d'accueil avec tout le bla-bla-bla
qui contient un module de 'connexion' (par 'connexion' je veux biensûr dire accès à un
compte membre), ceci par un formulaire, qui me dirige vers une page de test du login/pass.
Aussitôt la vérification faite, je suis redirigé vers la page d'accueil en temps que membre.
Cependant un problème subsiste : les données de sessions (les variables superglobales), tel que
$_session['pseudo'] sont inconnues.
Mon petit jou-jou est wampserveur 2.0 avec apache 2.2.8 et php 5.2.5.




Puisque une image vaut mille mots :

--> index.php :
<?php session_start(); ?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "FG-System :: W3C Validation XHTML 1.0 Strict"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr" lang="fr-fr">
<head>
<link rel="stylesheet" media="screen" type="text/css" title="design" href="site/style.css" />
<title> Accueil </title>
<link rel="shortcut icon" href="favicon.ico" />
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
</head>
<body class="nospace">
<div id="menu">
<p>
<u><h3>Se connecter</h3></u>
<form method="post" action="verif-log.php" autocomplete=off>
<label for="pseudo">pseudo :</label> <br/> <input type="text"name="pseudo"id="pseudo"tabindex="10"size="18" maxlength="255"/>
<label for="pass">mot de passe :</label> <br/> <input type="password"name="pass"id="pass" size="18" maxlength="255"tabindex="20"/>
<div style="text-align:right;">
<input type="submit"value="Entrer"/>
</div>
</form>
</p>
</div>
<div id="main">
<div class="corps">
<p>
<?php
if (isset($_session["pseudo"]))
{
echo "Bienvenue ";
echo $_session['pseudo'];
}
?>
</p>
</div>
</div>
</body>
</html>




--> verif-log.php :
<?php session_start(); ?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "FG-System :: W3C Validation XHTML 1.0 Strict"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr" lang="fr-fr">
<head>
<link rel="stylesheet" media="screen" type="text/css" title="design" href="site/style.css" />
<title> Connexion </title>
<link rel="shortcut icon" href="favicon.ico" />
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="refresh" content="2;URL=index.php">
</head>
<body class="nospace">
<div id="main">
<div class="corps">
<?php
$loginok=false;
if (isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['pass'])))
{
mysql_connect('localhost','pseudo','pass');
mysql_select_db('site');
extract($_POST);
$req = mysql_query("SELECT utilisateur, adresse_mail, mot_de_passe, IP FROM user WHERE utilisateur = '".$pseudo."'");
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
if ($pass == $data['mot_de_passe'])
{
$loginok = true;
}
}
mysql_close();
}
if ($loginok)
{
$_session['pseudo']=$data['utilisateur'];
$_session['courriel']=$data['adresse_mail'];
$_session['ip']=$data['IP'];
echo "Vous êtes en train de vous connecter...";
echo "<br/><br/>----------------------";
echo "<br/><br/>-->    Bienvenue <b>";
echo $_session['pseudo'];
echo "</b>";
}
else
{
echo '<h3><center><span style="color:red">Une erreur est survenue, veuillez réessayer !<br/><br/> Pensez à paramétrer votre navigateur, si ce n\'est déjà fait, pour qu\'il accepte <br/>les cookies.</span></center></h3>';
}
?>
</div>
</div>
</body>
</html>



Sur la page index.php, le isset($_session['pseudo']) ne trouve pas la variable alors qu'il le trouve sur la page verif-log.php

Autres pages sur : php sessions

a c 232 L Programmation
1 Juillet 2008 11:18:45

hmm, c'est pas parce que sur la page index.php tu n'es pas encore connecté ? :) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS