Faire suivre session dans affichage par page
Fermé
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
-
29 mai 2009 à 16:06
francdrum Messages postés 853 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 4 février 2011 - 1 juin 2009 à 22:04
francdrum Messages postés 853 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 4 février 2011 - 1 juin 2009 à 22:04
A voir également:
- Faire suivre session dans affichage par page
- Supprimer une page word - Guide
- Suivre le match en direct - Guide
- Traduire une page web - Guide
- Créer une page facebook - Guide
- Consultez le code source de cette page. copiez la ligne indiquant aux moteurs de recherche de ne pas référencer la page. ✓ - Forum Référencement
10 réponses
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
29 mai 2009 à 16:14
29 mai 2009 à 16:14
Avec les sessions regarde ici -> https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913348-variables-superglobales#ss_part_2
Une session te permet d'enregistrer des variables sur un utilisateur, qui sont accessibles sur toutes tes pages. PHP associe les sessions à un utilisateur grâce à un cookie ou une variable en GET ce que permet de reconnaître l'utilisateur. C'est hyper pratique.
Une session te permet d'enregistrer des variables sur un utilisateur, qui sont accessibles sur toutes tes pages. PHP associe les sessions à un utilisateur grâce à un cookie ou une variable en GET ce que permet de reconnaître l'utilisateur. C'est hyper pratique.
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
49
29 mai 2009 à 16:29
29 mai 2009 à 16:29
Merci pour ta réponse
Comme mon niveau est loin d'être suffisant pour comparer des scripts, je te fais un 'tit copier/coller du mien.
Résumé, mais ça doit suffir pour comprendre
Mais c'est vrai que pour GET, je ne sais pas comment placer ça ... :-(
Que ce soit pour récupérer le loggin ou le . session_id();
Merci ;-)
Comme mon niveau est loin d'être suffisant pour comparer des scripts, je te fais un 'tit copier/coller du mien.
Résumé, mais ça doit suffir pour comprendre
Mais c'est vrai que pour GET, je ne sais pas comment placer ça ... :-(
Que ce soit pour récupérer le loggin ou le . session_id();
Merci ;-)
<?php
session_start();
include('config.inc.php');
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// recupère le pass
$sql = "select pwd from aaa_tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">';
echo '<p align="center"><b>Vous n\'êtes pas identifié, donc vous ne pouvez pas télécharger les partitions</b><br>(les liens sont désactivés)<br><b>Merci de ré-essayer</b><br>Ceci dit, vous pouvez toujours y jeter un oeil ;-)</p>';
include('form.php');
AFFICHAGE DE LA PAGE AVEC LES LIENS DESACTIVES
@mysql_close();
exit;
}
else {
$_SESSION['login'] = $login;
echo 'Vous etes bien logué <b><u>'.$login.'</u></b>';
AFFICHAGE COMPLET DE LA PAGE
@mysql_close();
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('form.php'); // On inclut le formulaire d'identification
exit;
}
?>
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
29 mai 2009 à 16:38
29 mai 2009 à 16:38
Il faut que tu prennes en compte les session dans ta condition :
Pour ta condition on peut être déjà connecté : quand $_SESSION['login'] est différent de null ou vide.
Où tu essaye de te connecté : si les données du formulaire existent.
Pour ta condition on peut être déjà connecté : quand $_SESSION['login'] est différent de null ou vide.
Où tu essaye de te connecté : si les données du formulaire existent.
<?php
session_start();
include('config.inc.php');
if( (isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) || !empty($_SESSION['login'])) {
extract($_POST);
// recupère le pass
$sql = "select pwd from aaa_tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">';
echo '<p align="center"><b>Vous n\'êtes pas identifié, donc vous ne pouvez pas télécharger les partitions</b><br>(les liens sont désactivés)<br><b>Merci de ré-essayer</b><br>Ceci dit, vous pouvez toujours y jeter un oeil ;-)</p>';
include('form.php');
AFFICHAGE DE LA PAGE AVEC LES LIENS DESACTIVES
@mysql_close();
exit;
}
else {
$_SESSION['login'] = $login;
echo 'Vous etes bien logué <b><u>'.$login.'</u></b>';
AFFICHAGE COMPLET DE LA PAGE
@mysql_close();
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('form.php'); // On inclut le formulaire d'identification
exit;
}
?>
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
49
29 mai 2009 à 16:54
29 mai 2009 à 16:54
Heu ...
Ca, c'est un bout de script que j'ai trouvé sur phpdebutant ...
Comme j'ai dis, suis une vrai bille, donc quitte à m'enfoncer un peu plus (LOL), pour que on puisse passer d'une page à l'autre (vu qu'on arrive quand meme à une page), il ne faudrait pas mettre un truc du genre
en début de page ?
Bon, arrétez de vous marrer !!! (re LOL)
Ca, c'est un bout de script que j'ai trouvé sur phpdebutant ...
Comme j'ai dis, suis une vrai bille, donc quitte à m'enfoncer un peu plus (LOL), pour que on puisse passer d'une page à l'autre (vu qu'on arrive quand meme à une page), il ne faudrait pas mettre un truc du genre
<?php
session_start();
$login = $_GET['login'];
en début de page ?
Bon, arrétez de vous marrer !!! (re LOL)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
29 mai 2009 à 16:58
29 mai 2009 à 16:58
Tu mets :
<?
session_start();
$login=$_SESSION['login'];
?>
J'avais mal compris ta question.
<?
session_start();
$login=$_SESSION['login'];
?>
J'avais mal compris ta question.
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
49
29 mai 2009 à 17:29
29 mai 2009 à 17:29
Pô de pb ;-)
Oui, bon ben j'ai meme rajouté ça :
Mais tjs pareil, j'ai bien la premiere page, et ensuite je me retrouve au loggin :-(
Je sais pô si je peux ici, mais bon, je te donne le lien de ce test, si ça peut aider :
(Loggin : toto, pass : tutu)
Merci :-)
Oui, bon ben j'ai meme rajouté ça :
<?php
session_start();
$login=$_SESSION['login'];
$pass=$_SESSION['pass'];
Mais tjs pareil, j'ai bien la premiere page, et ensuite je me retrouve au loggin :-(
Je sais pô si je peux ici, mais bon, je te donne le lien de ce test, si ça peut aider :
(Loggin : toto, pass : tutu)
Merci :-)
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
29 mai 2009 à 21:47
29 mai 2009 à 21:47
Voila comment tu dois modifier ton script :
J'ai modifié pas mal de choses et je pense que c'est bon. Tu as deux cas l'utilisateur se connecte, et l'utilisateur est déjà connecté.
<?php
session_start();
include('config.inc.php');
if( (isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) || !empty($_SESSION['login'])) {
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass']))//L'utilisateur se connecte
{
extract($_POST);
// recupère le pass
$sql = "select pwd from aaa_tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">';
echo '<p align="center"><b>Vous n\'êtes pas identifié, donc vous ne pouvez pas télécharger les partitions</b><br>(les liens sont désactivés)<br><b>Merci de ré-essayer</b><br>Ceci dit, vous pouvez toujours y jeter un oeil ;-)</p>';
include('form.php');
AFFICHAGE DE LA PAGE AVEC LES LIENS DESACTIVES
@mysql_close();
$_SESSION['login'] = $login;//On finalise la connection, puis on crée un session contenant le login
exit;
}
}//Fin l'utilisateur est connecté
else { //l'utilisateur est déjà connecté
$login=$_SESSION['login'];//On attribue la session login à la variable login
echo 'Vous etes bien logué <b><u>'.$login.'</u></b>';
AFFICHAGE COMPLET DE LA PAGE
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('form.php'); // On inclut le formulaire d'identification
exit;
}
?>
J'ai modifié pas mal de choses et je pense que c'est bon. Tu as deux cas l'utilisateur se connecte, et l'utilisateur est déjà connecté.
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
49
31 mai 2009 à 18:41
31 mai 2009 à 18:41
Me voici de retour
Suis musicien, je bosse le week-end :-)
Encore merci pour ton aide
Il y a un truc avec ce code ...
La page reste blanche
J'ai essayé de voir si il n'y avait pas un soucis de ; ou de }, mais je ne vois pas
Mais je trouve bizarre, tu as mis " }//Fin l'utilisateur est connecté" à un endroit ou justement il ne l'est pas
Ca ne viendrait pas de ça, une inversion dans le code aussi ?
Merci :-)
Suis musicien, je bosse le week-end :-)
Encore merci pour ton aide
Il y a un truc avec ce code ...
La page reste blanche
J'ai essayé de voir si il n'y avait pas un soucis de ; ou de }, mais je ne vois pas
Mais je trouve bizarre, tu as mis " }//Fin l'utilisateur est connecté" à un endroit ou justement il ne l'est pas
Ca ne viendrait pas de ça, une inversion dans le code aussi ?
Merci :-)
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
31 mai 2009 à 21:09
31 mai 2009 à 21:09
Bon j'ai fait un test sur mon serveur local avec le script suivant :
La condition ou "L'utilisateur se connecte" est bien exécutée quand je transmet les données login et pass en POST.
Ensuite la session est bien créé avec login qui contient bien le login.
Au niveau des conditions tout fonctionne, ainsi que de la création d'une session contenant login.
Sinon, j'ai dù désactiver la requête SQL pour tester et j'ai aussi déplacé $_SESSION['login'] = .
Enfin j'ai écrits "//Fin l'utilisateur est connecté" car quand la condition a finis de s'exécuté l'utilisateur est normalement connecté sauf si le mot de passe ou l'indentifiant étaient faux, j'aurais du mettre ce commentaire à la fin de la condition dù dessus ( if($data['pwd'] != $pass)).
session_start();
// include('config.inc.php');
if( (isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) || !empty($_SESSION['login'])) {
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass']))//L'utilisateur se connecte
{
extract($_POST);
// recupère le pass
/*$sql = "select pwd from aaa_tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">';
echo '<p align="center"><b>Vous n\'êtes pas identifié, donc vous ne pouvez pas télécharger les partitions</b><br>(les liens sont désactivés)<br><b>Merci de ré-essayer</b><br>Ceci dit, vous pouvez toujours y jeter un oeil ;-)</p>';
include('form.php');
AFFICHAGE DE LA PAGE AVEC LES LIENS DESACTIVES
@mysql_close();
$_SESSION['login'] = $login;//On finalise la connection, puis on crée un session contenant le login
exit;
}*/
$_SESSION['login'] = $_POST['login'];//On finalise la connection, puis on crée un session contenant le login
echo "EXE IF 1";
}//Fin l'utilisateur est connecté
else { //l'utilisateur est déjà connecté
$login=$_SESSION['login'];//On attribue la session login à la variable login
echo 'Vous etes bien logué <b><u>'.$login.'</u></b>';
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
//include('form.php'); // On inclut le formulaire d'identification
exit;
}
La condition ou "L'utilisateur se connecte" est bien exécutée quand je transmet les données login et pass en POST.
Ensuite la session est bien créé avec login qui contient bien le login.
Au niveau des conditions tout fonctionne, ainsi que de la création d'une session contenant login.
Sinon, j'ai dù désactiver la requête SQL pour tester et j'ai aussi déplacé $_SESSION['login'] = .
Enfin j'ai écrits "//Fin l'utilisateur est connecté" car quand la condition a finis de s'exécuté l'utilisateur est normalement connecté sauf si le mot de passe ou l'indentifiant étaient faux, j'aurais du mettre ce commentaire à la fin de la condition dù dessus ( if($data['pwd'] != $pass)).
francdrum
Messages postés
853
Date d'inscription
mardi 12 décembre 2000
Statut
Membre
Dernière intervention
4 février 2011
49
1 juin 2009 à 22:04
1 juin 2009 à 22:04
Mille merci pour ton aide :-)
J'essaie ça dès que retour chez moi
@++
J'essaie ça dès que retour chez moi
@++