problème récupération infos dans une session - PHP - Programmation
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'];
...
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
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...
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
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>
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 .
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!!
Sebounet62