Sessions

Signaler
Messages postés
85
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
19 mars 2007
-
Messages postés
10
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2005
-
Bonjour, et oui encore une question.
Après vous avoir embété avec mon formulaire d'inscription, j'ai des questions concernant les sessions.
J'ai lu un tutorial sur les sessions trouvé sur le site, mais bon, j'arrive pas trop à faire fonctionner.

J'aimerai faire un site avec une zone membre, mais que n'importe qui peux rechercher des infos. Par contre pour pouvoir enregistrer une fiche, il faut être enregistré.

J'ai une page connexion, la fonction login, puis une page home, une fois identifié.
Ma question est comment faire pour qu'une fois identifié on peut naviguer sur le site en restant identifié ?

Je fais avec :
//ouverture de la session
session_start();

mais marche pas. Dois je rajouter quelque chose ?

Voici mes pages :
login :

<?php
//insertion du fichier de config
include("./config.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$connect_db = connect();
$Pseudo=$_POST['Pseudo'];
$mdp=$_POST['mdp'];
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_db_query($sql_bdd,"select * from membres where Pseudo="$Pseudo" and mdp="$mdp"",$connect_db) or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND => renvoi sur la page index.php
if(mysql_num_rows($requete)==0)
{
//configuration du mot de passe d'erreur
$msg="Désolé le mot de passe est incorrect.";
//renvoi sur l'autre page avec le message dans l'adresse
header("Location:index.php?msg=$msg");
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES => renvoi sur la page suivante
else
{
// ouverture de la session
$bool=session_start();
//enregistrement de variable de session, la tu met ce que tu souhaite.... par exemple, le login, et le mot de passe...
$_SESSION['Pseudo']=$Pseudo;
$_SESSION['mdp']=$mdp;
//redirection vers la page suivante.
header("location:home.php");
}
?>

home (après connection) :

<?php
//ouverture de la session
session_start();


//insertion du fichier de config
require("./config.php");
?>
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Home</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<?php
//insertion haut
include("./haut.php");


//insertion pub
include("./pub.php");
?>


&nbsp;

Tous les coins de pêche,
----
<center>
<?php
//connexion à la base de donnée
$connect_db = connect();

//vérification si le membre est passé par la page de login :
if(!isset($_SESSION['Pseudo']))
{
$msg="Désolé, vous devez être identifié.";

// si la variable de session login n'est pas enregistré : retour sur la page index.php
header("location:./index.php?msg=$msg");
}
else // si tu es bien connecté...
{
$Pseudo=$_SESSION['Pseudo'];
echo "Bienvenue ".$Pseudo."

";

//lien vers la page de modification de mot de passe
echo "Modification du mot de passe
";

}
?>
</center>

<?php
//insertion menu
include("./menu.php");


//insertion accueil
include("./accueil.php");
?>

</html>

et ma page index :

<?php
//insertion du fichier de config
require("./config.php");


//ouverture de la session
session_start();
?>


<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>index</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>



<?php
//insertion haut
include("./haut.php");


//insertion pub
include("./pub.php");


//insertion connexion
include("./connexion.php");


//insertion menu
include("./menu.php");


//insertion accueil
include("./accueil.php");
?>



</html>

Que dois je mettre en debut de page pour que la session reste ouverte tout le temps ?

Merci et @+.

5 réponses

Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Ben oui c bien jolie de faire session start apres faut mettre tes parametre dedans, surtout que plus loin tu utilises un $_SESSION['Pseudo'];, donc faudrai au moins mettre le pseduo dans ta session pour la syntaxe consulte le tuto

<HR>
PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, consulter le post:j'aide a developper ou contacter moi par mail.

Sans maitrise la puissance n'est rien. et je maitrise
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
et session_start() a besoin de l'en tête... c'est expliqué dans le message d'erreur !!! aprends à lire !!!



donc, place le en début de page...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut



ou si tu ne souhaites pas le placer en début de page met ob_start() en début de page et ob_end_flush() tout en bas :-)



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
85
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
19 mars 2007

merci, je suis en train de réaménager mes pages, car avec la méthode que j'utilisé, il était plutot difficile de passer la sesion.

@+.
Messages postés
10
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2005

Ca sent quand même le script piqué et modifié a l'arrache ca ... déjà vu ca qq part ;)
sinon ben fait un tour sur php.net t as ttes les fonction php expliquées avec exemples :p

PS : les session c quand même assez galère surtout quand on lit mal les aides et qu'on voit pas qu'entre popup c chiant lol :p +++


~~~~~~~~~~~~~- KiNgOuNeT -~~~~~~~~~~~~~

<F< body>