[Session php]

Fermé
matt - 3 févr. 2005 à 11:33
 Bioben - 17 juil. 2009 à 17:36
Bonjour, je suis entrain de programmer un site internet dont la visualisation doit se faire en 7 langues ...

J' utilise pour cela une session php qui garde ma variable langue tout au long de la navigation ....

Ma question est : Comment se matérialise une session en php ???
Est ce un fichier , si oui ou le trouve t-on ?


Merci d' avance .
++

12 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
15 avril 2005 à 13:49
L'utilisation d'une session en php permet d'enregistrer des information qui sont en relation avec l'internaute qui visite ton site (pas des infos perso, mais par exemple, les infos qu'il a rentré dans un formulaire et que tu veux garder en mémoire pendant toute la durée de sa visite). Les session php, sont surtout utilidsé pour restraindre l'acces à certaine partie d'un site, comme par exemple pour ce forum si il faut etre membre pour acceder au café des mambre, et donc se loguer. Lorsque tu te logue, une variable de session est enregistrée pour te permettre l'acces au café des membres.

Utilisation :
Dans un premier temps, met toi au php.
Exemple utilisation :

#Dans le fichier log.php, admettons que tu as le code suivant :
<?php
session_start();

$_SESSION['valid_user'] = "OK";
echo "<a href=\"mapage.php\">ma_page</a>";

?>

#Dans la page mapage.php, tu as :
<?php
if(isset($_SESSION['valid_user']))
{
$valid = $_SESSION['valid_user'];
if( $valid == "OK" )
echo "vous etes logué et avez acces à cette partie du site";
else
echo "Vous n'avez pas le droit d'acces à cette partie - loguer vous";
}


Voilà.

++
2
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
3 févr. 2005 à 21:23
Une session PHP se matérialise bien sur un fichier texte contenant les variables de ta session passé au serialize().
Quand tu fait session_start(), le fichier est lu et son contenu est passé à un_serialize().

Pour savoir ou il se trouve les fichiers, il faut regarder le fichier php.ini et trouver l'option session.save_path ou avec la fonction session_save_path()
Tu peut aussi choisir ou tu veut enregistrer les fichiers avec la fonction session_save_path()
1
merci bocoup pour ce renseignement
G trouvé tous sa ds le php.ini

Merki
++

matt
0
salut a tous, je suis en train de faire une fonction mail
cela ne me pose pas de probleme mais vous dites qu'il faut configurer le smtp dans le fichier php.ini
or je crée mes pages php avec le bloc note et je les transfert sur mon ftp pour les mettre en ligne donc comment faire pour ajouter le fichier php.ini
ou je peux le trouver et est ce que je dois l'ajouter a la racine de mo, site ou dans un quelconque dossier
aurais beaucoup de choses a parametrer dans ce fichier si je veux juste envoyer des emails
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008
3 mars 2005 à 16:14
Hello!

Tu ne peux pas modifier le fichier php.ini de ton hébergeur... Donc si ta fonction mail ne fonctionne pas chez ton hébergeur c'est qu'il l'a bloqué
0
puis je demander a mon hebergeur de me fournir le fichier php;inin afin de faire le smodifications dessus
c'est pour une entreprise
car le code php fonctionne j'arrive a afficher des choses et tout mais il ne me rest plus que les mails
0
salut tous le monde je veux savoir comment utiliser une session dans mon site et quelle est sa utulité
0
salut merci pour la reponse ,mais je veux que lorsque un user entre un login et un mot de passe (et apres verification dans la base de ds partie déja fait ...)il s'ouvre une session et comment moi apres l'hébérgement je connais qui il possede sa propre session (svp j'attend ta reponse car c mon projet fin d'etude)
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
15 avril 2005 à 15:38
Alors

"comment moi je sais ... qu'il possède sa propre session" : je ne comprend pas tres bien ce que tu veux dire par là. Si tu veux savoir s'il est inscrit et donc qu'il peut avoir une session, il faut faire une requete dans la bse de donnée sur le pseudo et mot de passe avec lesquel il se log, mais je crois que tu as déjà fait ca non , alors si ta question est de savoir dans une autre page du site, réservée à un membre, si l'utilisateur s'est logué et donc a ouvert une session, il faut inclure un test au début de tes pages ou à l'endroit ou tu veux afficher les choses spécifiques aux sessions :

Pour vérifier si une session est ouverte par l'utilisateur :
Suite à ton controle d'identité avec la zone de log, si les controles sont bon, alors tu va enregistré une variable de session de la facon suivante :
<?php
session_start(); // A mettre en ahut de ton script de log
// Tr


// Foramulaire de log
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
15 avril 2005 à 15:55
Petit plantage de ma part ... je n'ai pas fini de répondre, voici l'intégralité du message :

Alors

"comment moi je sais ... qu'il possède sa propre session" : je ne comprend pas tres bien ce que tu veux dire par là. Si tu veux savoir s'il est inscrit et donc qu'il peut avoir une session, il faut faire une requete dans la bse de donnée sur le pseudo et mot de passe avec lesquel il se log, mais je crois que tu as déjà fait ca non , alors si ta question est de savoir dans une autre page du site, réservée à un membre, si l'utilisateur s'est logué et donc a ouvert une session, il faut inclure un test au début de tes pages ou à l'endroit ou tu veux afficher les choses spécifiques aux sessions :

Pour vérifier si une session est ouverte par l'utilisateur :
Suite à ton controle d'identité avec la zone de log, si les controles sont bon, alors tu va enregistré une variable de session de la facon suivante :
<?php
session_start(); // A mettre en ahut de ton script de log
// Traitements du formulaire :
// ici tu regarde si les valeurs entrée par l'utilisateur sont bonnes
// auquel cas tu met à jours la variable de session et tu redirige
//l'utilisateur sur la page que tu veux :
$_SESSION['valid_user'] = $pseudo;
redirection.

// sinon tu affiche un message d'erreur et tu affiche le formulaire
?>

Puis dans tes pages, il faut que tu inclus des tests sur une éventuelle session en cours en incluant un petit script au début de tes fichiers sources :

<?php
if( ! isset($_SESSION['valid_user']))
{
header("location: monfichierderedirection.php");
exit;
}
?>

De cette facon, si un utilisateur n'est pas logué en arrivant sur une page qui inclut ce script, il sera redirigé sur la page "monfichierderedirection.php".

Pour enregistrer un variable de session tu fais :
session_start();
// au début du fichier où tu enregistre ta variable de session.


Puis apres les vérification :
session_unset();
// supression des variables de session au cas ou il y en avait déjà.
$_SESSION['valid_user'] = $pseudo;

Le "valid_user" n'est pas strict dans le sens ou tu peux mettre ce que tu veux comme texte pour te repérer, on aurais tres bien pu mettre 'pseudo' ou 'caca'... mais c'est tout de suite moi élégant ;)

Sinon, si dans une page, tu souhaite détruire une session (par exemple suite au clique sur un boutton 'fermer session', tu lance le script suivant :
<?php
session_unset(); // voir ci-dessus
session_destroy(); // DESTRUCTION DE LA SESSION
header("location: ..."); // Redirection.

?>


Voilà, encore des questions ?

@++
0
merci bien je comprend mais comment faire pour que si l'utilisateur veux telecharger exp(un outil..)il telecharge sans identifier une autre foix (piusque il est dans la meme session..)(car je fé dans mon site si un user veux télécharger un e pade d'identification s'affice
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
15 avril 2005 à 16:05
Et bien j'imagine que tu as fait un lien pour le téléchargement, et ce lien charge un script qui s'occupe du téléchargement ? Dans ce cas la, tu n'a qu'à inclure le script suivant :

<?php
session_start();

if(isset($_SESSION['ident']))
{
// L'utilisateur est logé !
// alors tu fais le téléchargement
}
else
{
// ici tu apelle un fonction qui propose un formulaire de log pour identifier l'utilisateur.
// Puis tu met à jour ou non la variable de session suite au test sur le formulaire et tu fais le téléchargement en fonction de ca.
}

Mais pour qu'un utilisateur n'est pas à rentrer à chaque son identification alors qu'il est déjà indentifier, il faut mettre
session_start(); avant les entetes de toutes tes pages.


++
0
Bonjour,
je vous remercie pour tt eclairages mais moi j ai une question comment on creer un panier avec session? merci beaucoup
0
tu appele la fonction phpinfo() dans ta page et tu fait print_r(nom de la variable de la session) et ta le contenu de ta session qui affichier
-1