problème récupération infos dans une session

problème récupération infos dans une session - PHP - Programmation

Marsh Posté le 30-07-2004 à 15:23:35    

Bonjour à tous,
 
tout d'abord soyez indulgent, je débute en Php.
J'ai un serveur Apache avec php 4.3.7 et My SQL. J'ai, grâce à l'aide d'un ami, réussi à créer le formulaire d'authentification.
Le souci que j'ai c'est que lorsque j'arrive dans la nouvelle page chargée et que je tape:
<? session_start(); ?>
....
....
<? echo "Bonjour $login"; ?>
ou encore
<? $login= $_SESSION['login]
echo "Bonjour $login"; ?>
 
j'ai comme résultat "Bonjour" sur IE et "Bonjour seb" sur Firefox, comme si il avait sauvegardé une session et que celle-ci ne se ferme plus. De plus, si je me connecte sous le nom administrateur j'ai toujours "Bonjour seb", bizarre.
 
Merci de m'apporter vos lumières qui me seront fort utiles!!
 :pt1cable:  
 
Sebounet62

Reply

Marsh Posté le 30-07-2004 à 15:23:35   

Reply

Marsh Posté le 30-07-2004 à 17:03:34    

ben si tu as un formulaire il faut que tu fasse qqchose qui ressemble à:
 
$_SESSION['machin'] = $_POST['machin'];
 
...

Reply

Marsh Posté le 30-07-2004 à 18:14:17    

Ok merci et je le place dans la page d'authentification après session_start() ?
 
Merci de m'aider encore.
 
;-)
Seb

Reply

Marsh Posté le 30-07-2004 à 19:03:44    

===== page1.php ======  
// Permet d'identifier le visiteur
session_start();
if(isset($_POST['machin']))
{
$_SESSION['nom'] = $_POST['nom'];
header('Location: page1.php');
exit();
}
else
{
echo "<form action='page1.php' method='post'><input type='texte' name='nom'</input></form>";
}
 
===== page2.php ======  
// Vérifie si le visiteur est identifié (à mettre sur toutes les autres pages)
session_start();
if(!isset($_SESSION['nom']))
{
header('Location: page1.php');
exit();
}
echo "Bonjour {$_SESSION['nom']}";
// le reste de ta page
 
======================
 
 
ça devrait pouvoir te fournir un ptit (tout petit) script d'identification...


Message édité par TriadPtale le 30-07-2004 à 19:05:18
Reply

Marsh Posté le 30-07-2004 à 19:05:56    

Ok merci beaucoup pour ton aide, je teste ça lundi au boulot et je te dirai si c bon.
 
Bon week end !!
Bye

Reply

Marsh Posté le 02-08-2004 à 16:32:40    

J'ai toujours le même souci, je vous file le code, pouvez vous  me dire ce qui ne vas pas.
 
Merci d'avance.
 
Page login.php
 
if($data['pass'] != $pass)  
    {  
    include('index.php'); // On inclus le formulaire d'identification
  echo '<p align="center"><font size="4" color="red"><b>Mauvais login / password. Merci de recommencer</b></font></p>';  
    exit;  
    }  
else  
    {
  session_start();  
    session_register('login');
 
  header("Location: pages/accueil.php" );
 
Page Accueil.php
 
<Html>
<Head>
<title>Accueil Planvac v1.0</title>
<link rel="stylesheet" href="vac.css" type="text/css">
</head>
<body>
<?
session_start();
$_SESSION['login'] = $_POST['login'];
$login = $_SESSION['login'];
if(!session_is_registered('login'))
    {
    echo 'Vous n\'êtes pas autoriser a acceder a cette zone';
    include('login.htm');
    exit;
    }  
 
echo "Bonjour $login";
?>
</body>
</html>

Reply

Marsh Posté le 03-08-2004 à 13:48:45    

Le session start doit être placé en tout début de page, il ne faut même pas qu'une ligne blanche soit devant lui, car il est envoyé dans l'entete.Du code PHP peut le devancer, mais rien de ce qui est envoyé au client (HTML) ne doit être devant lui .
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed