Session en php

Fermé
Rebuffat - 8 janv. 2004 à 10:13
 Rebuffat - 8 janv. 2004 à 11:31
Bonjour,

J'avance grandement dans mon apprentissage grace à vous et une nouvelle fois j'ai besoin de vos eclaircissement.
Voila j'aimerai savoir comment utiliser ler principe des sessions.

En fait voila j'ai cree un fichier password.php. Ce fichier est appellé lorsque le visiteur vient sur lapage index.php du site.
Mais voila je voudrai que le visiteur se loggue à chaque fois qu'il tape directement une adresse dansson navigateur. J'ai donc pense aux sessions.

Mais voila comment faire.

Voila ce que j'ai fait pour le moment
//Mon formulaire d'authentification de la page index.php

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<center><strong>Bienvenue sur le site de consultation de la base de données Projets</strong></center>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
 <center><table border="0" cellspacing="5" cellpadding="5" bgcolor="#CCCCCC">
		 <form  method="post" action="password.php">
              <tr>
                <td><strong>Login</strong></td>
                <td><input type="text" size="10" name="login"></td>
              </tr>
              <tr>
                <td><strong>Password</strong></td>
                <td><input type="password" size="10" name="password"></td>
              </tr>
              <tr>
                <td colspan="2" align="center">
				<input type="submit" name ="submit" value="Envoyer">
                
              </tr>
</form>
            </table>
</center>
</body>
</html>


Ensuite la page password.php
<?php
require_once('Acces_BDPROJETS.php');

mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
	
$selectlogpass="select Login, Password from utilisateur where Login='".$login."' and Password='".$password."'";

	//EXECUTION DE LA REQUETE
	$Result=mysql_db_query ($database_canalbd,$selectlogpass) or die("Erreur dans la requête");
// SI AUCUN ENREGISTREMENT TROUVE
	if(mysql_num_rows($Result)==0)
		{
		header('location: index.php');
	
		}
	// ON ACCEDE A liste.php	
	else
	{
	session_start();// on démarre une session des lors que login et password sont valides
// On enregistre les variables login et password dans la session en cours 
session_register("login");
session_register("password");
header('location: liste.php');
	}	

	// DECONNEXION MYSQL
	mysql_close();
	
?>
<body>

</body>
</html>


Maintenant je veux que si on appel depuis le navigateur la pase liste.php et bien on redirige l'internaute sur index.php pour authentification.

Est ce que'on peut m'aider .

D'autre part je souhaite pouvoir ecrire une fonction que j'insererai dans chaque page et non pas reecrire.

Merci à vous

2 réponses

crée une variable (flag) qui prendra par defaut la valeur "rouge" quand il ne sera pas idetnifié et "vert" quand il le sera .
puis tu fais une condition
if($flag=="rouge"){redirection}
if ($flag=="vert"){on continue}
----
$flag=vert quand tu te connecte et que la session est faite
c tout
pour la redirection je sais plus tu va trouver
0
Est ce que tu peux mepreciser .
Car je pense que ma page password doit être modifier et que ce qui concerne les sessions ne doit plus y paraitre.
ainsi j'imagine la page password de cette façon
 <?php
require_once('Acces_BDPROJETS.php');

mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
	
	$selectlogpass="select Login, Password from utilisateur where Login='".$login."' and Password='".$password."'";

	//EXECUTION DE LA REQUETE
	$Result=mysql_db_query ($database_canalbd,$selectlogpass) or die("Erreur dans la requête");
// SI AUCUN ENREGISTREMENT TROUVE
	if(mysql_num_rows($Result)==0)
		{
		header('location: index.php');
	
		}
	// ON ACCEDE A liste.php	
	else
	{
	
header('location: liste.php');
	}	

	// DECONNEXION MYSQL
	mysql_close();
	
?>
<body>

</body>
</html>


et uner nouvelle page session.php

ou je gere le probleme cite plus haut.

Tu peux me dire?

et que dois je ecrire dans cette session.php
0