TOUT SUR LES SESSIONS

cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005 - 27 févr. 2003 à 07:32
xsamoud Messages postés 1 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 25 mars 2009 - 25 mars 2009 à 09:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13159-tout-sur-les-sessions

xsamoud Messages postés 1 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 25 mars 2009
25 mars 2009 à 09:53
salut
j'ai besoin d'un script php
lorsque le client connecter d'un poste les session ouvert avec les autres sessions relatives au meme compte se ferment, de sorte à avoir une seule seule session active en même temps pour chaque compte.
(comme avec msn)
merci
jul_diedhiou Messages postés 14 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 30 janvier 2009
4 juil. 2008 à 19:26
bonjour jai ce message d'erreur sur les session que j'arrive pas comprendr alor que mon script fonctionne normalement.
au fait c'est pas une erreur mais c'est un warning pouvait m'aider s'il vout plait:
voici le message:
'Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0'
cs_ninaW Messages postés 1 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 6 mars 2007
6 mars 2007 à 10:04
Un grand merci pour ce code qui m'a été très utile^^!! même si j'ai pas tout compri^^ mais bon le principal c'est que j'y arrive non? encor merci^^
Bye
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
19 févr. 2005 à 08:35
Essaie de le mettre dans le cookie "à la main"
cs_brocoli Messages postés 4 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 17 février 2005
17 févr. 2005 à 09:36
Hello !

C'est chose faite... il n'accepte pas les cookies de sessions, car d'après lui, certains navigateurs ne les supportent pas !
Voici un lien sur la doc officielle...
http://ch2.php.net/manual/fr/ref.session.php

Pour ma part, j'ai fais un truc comme ça :

Je test si le nom d'utilisateur et le mot de passe sont correctes, si le test est ok, je démarre la session
session_start();
//on enregistre les paramètres de notre visiteur comme variables de session (utilisateur_client et passe_client)
$_SESSION['utilisateur_client'] = $_POST['utilisateur'];
$_SESSION['passe_client'] = $_POST['passe'];
// on redirige notre visiteur vers une page de notre section membre
header ('location: ./accueil/index.php?'.strip_tags(SID));

Donc les infos passent à travers l'url... ça donne qqchose comme ça :
/index.php?sid=8b4a63c36a1d81ea27767f5fd96331f0

Sur toutes mes pages protégées :
session_start();
if (! isset($_SESSION['utilisateur_client'])) {
header ('location: ../index.php'); //retour à la page de login
} else {
//Affichage de la page
}

Bon...ça marche aussi, mais l'url est super moche !!!
De plus, je peux ouvrir une page protégée juste en séléctionnant l'url dans l'historique de mon navigateur sans même passer par la page de login !! c'est grave !

Resultat : je sais plus quoi faire :-((((
Pour info, j'ai trouvé un post sur un autre forum, ça peut toujours intéresser quelqu'un ?
http://www.phpindex.com/articles/articles_lire.php3?element=182
(le dernier msg tout en bas de page donne la réponse de comment protéger ses sessions... mais c'est un peu du bricolage ??)
Merci
A++ Oli
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
17 févr. 2005 à 02:53
Ça à l'air à cela, il authorise les cookies mais pas ceux de session :/

Peut-être devrais-tu lui écrire?

Mathieu M-G
mathieumg@qc-net.com
cs_brocoli Messages postés 4 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 17 février 2005
14 févr. 2005 à 20:22
Bon... je crois que j'ai trouvé pour quoi ça marche po...
session.use_cookies = Off ??!!
Je suis chez un hébergeur payant, il n'autorise par les cookies ?

Merci
A+ Oli
cs_brocoli Messages postés 4 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 17 février 2005
14 févr. 2005 à 13:54
Hello !

Oui, mes cookies sont activés... enfin dans mes paramètres de sécurités, je suis "Moyen".
ESt-ce que c'est mon hébergeur ?
J'ai affiché le phpinfo et voici ce que ça donne...
PHP Version 4.3.10
register_globals On
session.auto_start Off
session.cookie_path /
session.cookie_secure Off
session.name sid
session.use_cookies Off

Voili...voila :-)
Merci beaucoup !!

A++ Oli
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
13 févr. 2005 à 20:42
Tes cookies sont activés?

Mathieu M-G
mathieumg@qc-net.com
cs_brocoli Messages postés 4 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 17 février 2005
13 févr. 2005 à 19:06
Hello !

Merci beaucoup pour ce tuto :-)
j'ai toutefois un ptit problème hum hum...
j'ai rajouté sur la page index.php
echo $_SESSION['variable']."
";
et il m'affiche bien tortue !
Par contre sur ma page viewsession.php
echo "La variable de session qui a été enregistrée est ".$_SESSION['variable']."
";
Il ne trouve plus la variable de session :-(((
Il m'a également généré un nouveau no ID de session !
J'ai essayé les 2 versions du tuto, (j'en ai essayé pleins d'autres depuis d'autres sites...ça fais 3 jours que je m'arrache les cheveux !) mais j'ai toujours ce problème...

Merci de votre aide !
A++ Oli
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
18 janv. 2005 à 08:55
peut-être que le tuto dit d'utiliser session_register, mais il faut l'oublié...
utilise plutot le tableau $_SESSION ;)
et je crois que tu ne peux pas mettre de tableau avec session_register !
Voici comme le faire :
$_SESSION['lenomquetuveux'] = $letableau;

Il faudrait vraiment que ce tut soit mis à jour :/
orsam Messages postés 28 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 22 octobre 2007
17 janv. 2005 à 11:27
Bonjour à tous...

Ok j'ai compris comment fonctionne les sessions (merci pour le tuto)

Cependant, j'ai un ch'ti probleme pour declarer une variable tableau avec session_register("quelajout[]");

Merci par avance...
cs_Solo Messages postés 10 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 6 octobre 2004
24 juin 2004 à 12:00
Question concernant les variables de session:
1- Si je définis une variable de session nommé "MaVariable", et dans mon script ou mes fonctions, j'utilise la sytaxe "$MaVariable" (notez le $), est ce que j'utilise bien la variable de session, ou y a t-il conflit ou cohéxistance ?

2- En supposant qu'a la question précédente "$MaVariable" est bien ma variable de session; si je modifie le contenu de "$MaVariable, faut-il que je force la mise a jour de l'enregistrement pour la page suivante ?

3- La portée d'une variable étant limitée à la fonction qui la définit, pour avoir une variable globale au script, il faut redéfinir la variable dans chacune des fonctions l'utilisant en la fesant précéder de "GLOBAL"... ah moins que je ne dise une bétise !
Pour les variables de session, faut-il aussi les déclarer dans chaque fonction les utilisant avec la commande "GLOBAL" ?

Mes questions semblent simplistes certes, mais ne faut il pas etre précis dans la méthodologie ?
nashoy Messages postés 125 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 7 octobre 2006
23 juin 2004 à 18:23
Pour ce qui est de ma part, j'ai réussi a résoudre le pb.
cs_Solo Messages postés 10 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 6 octobre 2004
23 juin 2004 à 15:41
Source: PhpFrance.com/Tutorials page 2:
"La fonction session_start() essaye de trouver l'identificateur de la session dans les cookies se trouvant sur votre disque dur.
Si l'identificateur de la session ne peut être trouvé, une nouvelle session est alors créée."

Est ce a dire que si l'internaute visitant le site en PHP a désactivé les cookies sur son poste (il existe des paranos !), une nouvelle session va etre créée a chaque changement de page, et que les variables de session ne seront pas accessibles de pages en pages ?

Toutefois, il semblerait que si dans l'URL d'appel de la page suivante, on mentionne la constante SID, on outrepasse les problemes de cookies...
[page2.php?' . SID . ' page 2]

Enfin, si j'ai bien compris, les variables de session sont mémorisées dans un fichier de session situé sur le serveur (contrairement aux cookies qui eux le sont sur le poste de l'internaute)... Ce fichier peut-il avoir une durée de vie limitée ? que devient ce fichier si l'internaute ne se déconnecte pas proprement (et oui, EdF se met en greve parfois !)... le fond du problème étant de ne pas encombrer le serveur avec des fichiers obsolètes...
nashoy Messages postés 125 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 7 octobre 2006
12 juin 2004 à 12:44
Le tuto est très bien fait, bravo.
J'ai néanmoins quelques erreurs qui apparaissent comme :

Notice: Use of undefined constant variable - assumed 'variable' in c:\programme\easyphp1-7\www\session1.php on line 7 <== dans index.php
-----------
Notice: Use of undefined constant variable - assumed 'variable' in c:\programme\easyphp1-7\www\viewsession.php on line 4

Notice: Undefined index: variable in c:\programme\easyphp1-7\www\viewsession.php on line 4 <== dans viewsession.php

Notice: Use of undefined constant nom - assumed 'nom' in c:\programme\easyphp1-7\www\ajoutvariable.php on line 7 <==ajoutvariable.php
---------
Notice: Use of undefined constant nom - assumed 'nom' in c:\programme\easyphp1-7\www\effacement.php on line 4

Notice: Use of undefined constant nom - assumed 'nom' in c:\programme\easyphp1-7\www\effacement.php on line 6
La variable nom a comme valeur

Notice: Use of undefined constant nom - assumed 'nom' in c:\programme\easyphp1-7\www\effacement.php on line 8
La variable "nom" a été éffacée ...

Notice: Use of undefined constant nom - assumed 'nom' in c:\programme\easyphp1-7\www\effacement.php on line 11

Notice: Undefined index: nom in c:\programme\easyphp1-7\www\effacement.php on line 11
<== dans effacement.php

Je suis débutant, c'est pk je vous demanderai d'être tolérent, s'il s'agit d'une erreur bête.

Merci
yami_no_ookami Messages postés 165 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 16 octobre 2005 2
3 mai 2004 à 11:20
merci pour ce tuto très complet qui m'a permis de mettre en place les sessions pour le stage d'un pote.

mais pour mon boulot, j'ai vu que les sessions sont bloquées par le navigateur si la confidentialité est mis a fond.
en effet, l'id est stockée dans un cookie sur le client et cela ne peut etre changée.

mettre l'id dans l'url est irrealisable niveau securité donc pas la peine de me le proposer.

Merci d'avance pour votre aide.
pedgom Messages postés 13 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 1 juin 2004
21 avril 2004 à 22:42
@ koko : merci. En fait g oublié d'enlever l'ancien code à un endroit .. oups
Ben justement, la fonction unset() ne peut pas être utilisée pr remplacer la fonction session_unset() c pr ça que g laissé la vieille méthode. Je vais tester ton truc, thx.

/!\ ATTENTION pr la modif que g faite plus haut /!
Pour la page effacement.php le code est présent 2 fois, d'abord l'ancien puis le nouveau. Utilisez le nouveau evidement :).

/!\ ATTENTION pr la modif que g faite plus haut /!\
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
21 avril 2004 à 22:07
tu as utilisé session_is_registred qui est obsolète :p
tout par $_SESSION !!!

session_unset caca aussi
$_SESSION = Array();
pedgom Messages postés 13 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 1 juin 2004
21 avril 2004 à 21:59
@ eka808 : de rien, de rien. ça marche donc c une solus, non? un vieux proverbe disait : "si le code ne va pas au serveur, amène le serveur au code" ou kekchose comme ça. ;)

Bon c vrai que ya beaucoup de gens qui se plaignent ss trop chercher (genre je m'assieds par terre et je pleure)...

Je vais tenter (je dis bien tenter) de mettre à jour le tutorial de Tortuegeniale histoire de faire un peu avancer les choses.

Ce code fonctionne avec EasyPHP1-7 de base. J'attire qd même l'attention que ss cette config (error_reporting = E_ALL) EasyPHP mensionne aussi les avertissements à l'écran au format suivant "Notice: ...". ce ne sont pas des fautes en sois et ça peut servir pr un bon débugage.
La majorité des serveurs cachent ces messages pr le confort des surfeurs qui ont souvent affaire à des faux-programmeurs ou (mauvais) donc ya pas de quoi s'en faire. ;p

>>>>> page index.php

<?
session_start(); // Démarrage de la session OBLIGATOIRE

$_SESSION['variable'] = "tortue"; //L'enregistrement de la variable et son affectation se font en même temps

if (isset($_SESSION['variable'])) //la fonction session_is_registered() a été remplacée par isset()
{
echo "Variable de session enregistrée ...
";
echo "Options des sessions
";
echo "

L'id de la session est ".session_id()." ";
exit;
}
else // La variable n'est pas enregistrée
{
echo "Variable de session non enregistrée ...";
exit;
}
?>


----------------------------------------------------------------------------------------

>>>>> page viewsession.php

<?
session_start(); // Démarrage de la sessions OBLIGATOIRE

echo "La variable de session qui a été enregistrée est ".$_SESSION['variable']."
";
echo "Ajoutons une variable à la session
";

// il est mieux d'écrire $_SESSION['variable'] que $_SESSION[variable] mais les 2 marchent aussi bien (juste 1 Notice)

echo "

L'id de la session est ".session_id()."";
exit;
?>

----------------------------------------------------------------------------------------

>>>>> page ajoutvariable.php

<?
session_start(); // Démarrage de la sessions OBLIGATOIRE

$_SESSION['nom'] ="Geniale"; //L'enregistrement de la variable et son affectation se font en même temps

if (isset($_SESSION['nom'])) //La fonction session_is_registered() a été remplacée par isset()
{
echo "Opération réussie, La variable "nom" a été enregistrée dans la session
";
echo "Effaçons maintenant la variable "nom"
";
echo "

L'id de la session est ".session_id()."";
exit;
}
else
{
echo "Enregistrement raté ...";
exit;
}
?>


----------------------------------------------------------------------------------------

>>>>> page effacement.php

<?
session_start(); // Démarage de la sessions OBLIGATOIRE

if (session_is_registered(nom)) // si la variable nommée "nom" est enregistrée on peut l'éffacer
{
echo "La variable nom a comme valeur ".$_SESSION[nom]."
";

if (session_unregister(nom)) // si elle est éffacée
{
echo "La variable "nom" a été éffacée ...
";
echo "La preuve, essayons de l'afficher ici : ".$_SESSION[nom]."
";
echo "Destruction des variables de session
";
echo "

L'id de la session est ".session_id()."";
exit;
}
else // éffacement raté
{
echo "Effacement raté ...";
exit;
}
}
else // la variable nommée nom n'existe pas
{
echo "La variable nommée "nom" n'existe pas ...";
exit;
}
?>


<?
session_start(); // Démarrage de la sessions OBLIGATOIRE

if (isset($_SESSION['nom'])) //La fonction session_is_registered() a été remplacé par isset()
{
echo "La variable nom a comme valeur ".$_SESSION['nom']."
";

unset($_SESSION['nom']);
//La fonction session_unregister() a été remplacée par unset()
//unset() renvoit une erreur donc on ne peut pas tester directement dessus.

if (!isset($_SESSION['nom'])) // si elle est éffacée
{
echo "La variable "nom" a été éffacée ...
";
echo "La preuve, essayons de l'afficher ici : ".$_SESSION['nom']."
";
// il est mieux d'écrire $_SESSION['variable'] que $_SESSION[variable]
//ça fait une Notice en mode error_reporting = E_ALL.
echo "Destruction des variables de session
";
echo "

L'id de la session est ".session_id()."";
exit;
}
else // éffacement raté
{
echo "Effacement raté ...";
exit;
}
}
else // la variable nommée nom n'existe pas
{
echo "La variable nommée "nom" n'existe pas ...";
exit;
}
?>

----------------------------------------------------------------------------------------

>>>>> page destruction.php

<?
session_start(); // Démarage de la sessions OBLIGATOIR

session_unset();
if (session_destroy())
{
echo "A ce stade il nous reste la Variable "variable" enregistrée
";
echo "Normalement session_destroy et session_unset l'ont détruit, testons ceci : ".$_SESSION['variable']."
";
echo "Rien n'apparait, la variable n'existe plus et si il y en avait eu d'autre, elles n'existeraient plus
";
echo "Opération réussie
";
echo "

L'id de la session est ".session_id()."
";
echo "Oups elle n'exite plus nom plus ;-)

";
exit;
//Quelques Notice puisqu'on essaye d'affiche des variables qui n'existent plus
}
else
{
echo "Effacement raté ...";
exit;
}
?>

Voila comme vous avez pu le remarquer ce sont des fonctions qui ont changé tt simplement, rien de terrible. En fait il suffisait tt simplement d'aller sur le site www.php.net/ ;)
eka808 Messages postés 72 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 29 avril 2005
21 avril 2004 à 20:17
merci pedgom jme sens moins seul lol
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
21 avril 2004 à 19:33
il est vrai qu'il est bien mais il n'est pas a jour... mais il ne sera pas mis a jour comme l'a dit son auteur !
pedgom Messages postés 13 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 1 juin 2004
21 avril 2004 à 19:22
Salut à tous, c juste pour dire que le tutorial est SUPER balaise et surtout complet (c rare), thx Tortuegeniale.

Cepandant la solus d'eka808 est pas mal du tt. P.ex. sur free.fr ils ont aussi moditifé leur config de php pr pas faire ch.. les gens avec leurs vieux codes.

Je pense que les 2 se valent mais le mieux est de savoir les maitriser tt ;)
eka808 Messages postés 72 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 29 avril 2005
16 avril 2004 à 18:17
je compren pa bien pk tu dis ça lol
moi je voulais juste aider et montrer ma solution.
si tu as mieux c ton pb moi cette solution me convient
cs_hicksman Messages postés 258 Date d'inscription mercredi 14 août 2002 Statut Membre Dernière intervention 23 avril 2004 1
16 avril 2004 à 17:36
ET TOC!!! Bien fait! Non mais, aucune reconnaissance, bandes d'ingrats ( je déconne, lol)
Comme disait un célèbre philisophe, qui s'appelait coluche si je me rapelle bien:
c'est en forgeant qu'on devient forgeron et c'est en sciant du bois que léonard de Vinci.
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
16 avril 2004 à 16:23
tss alors ça c n'importe koi. Easy php 1.7 a une version de php différente de la 1.6 et une config différente aussi (la config par defaut en plus).
Ca sert absolument a rien de faire ce que tu fais car le jour ou les serveur qui héberge vos sites changerons leur config php, vos sites marcherons plus.
Si tu fais ça installe easy php 1.6 parceque cette "solution" revient a faire ça.

Ce tuto marchait sous easy php 1.6, pour la 1.7 il faut changer 2 - 3 trucs pour les sessions (et encore ça devient meme plus simple). Donc a vous de chercher un peux. y a une super aide officiel php ou tout est expliqué (clairement en plus).

J'en vois plein qui se plaignent sur ce site c abérant alors qu'ils cherchent meme pas. "Ils peuvent aider sur ce site la alors pourquoi chercher" pensent les 3/4 des gens. Cette remarque n'est dirigé vers personne en particulier donc vous fachez pas. Mais c'est franchement usant de recevoir des message sur la messagerie privé du site, de personne que je ne connais pas, qui disent rarement bonjour, me colle un code de 50 - 100 lignes et me demandent (des fois c meme ordonnent) de les aider.

La maj de ce tuto existe, elle est meme finie mais j'ai décidé de ne pas la mettre vu les comportements de certains sur ce site.
eka808 Messages postés 72 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 29 avril 2005
16 avril 2004 à 15:45
Salut à tous
J'ai rencontré le même problème que jashugan, c'est à dire que je n'arrivais pas à faire fonctionner les sessions sous easy php 1.7
La solution a ce problème est évidemment de modifier le fichier de config de php (menu d'easy php > configuration > php)
En remplaçant ce fichier par mon fichier (http://membres.lycos.fr/eka808/filesforum/phpmultimania/php.zip)
plus de problèmes!!! (le fichier a les memes valeurs que celui du serveur de multimania)

Voila faites en bon usage :-P
Ah ui le fichier php.ini a remplaçer se situe dans "c:\program files\easy php\apache"
cs_Arthur15 Messages postés 3 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 25 avril 2004
28 mars 2004 à 15:37
Et là c qui qui passe pour un gros looser... :o)
j'avais essayé de créer un rep session mais je crois que j'avais oublié le "s".

Merci
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
28 mars 2004 à 09:36
le serveur ne stock pas les cookies... car les cookies c'est chez les clients !!
mais chez free, tu dois créer un dossier sessions pour que ca marche :p

Warning: session_start(): open(/var/www/free.fr/e/e/tuturzone/sessions/.sess_8fa03c12718e51a97ace784e72006595, O_RDWR) failed: No such file or directory

je trouve que l'erreur No such file or directory est tres clair !
cs_Arthur15 Messages postés 3 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 25 avril 2004
27 mars 2004 à 23:14
cool le tuto!

Je me suis bricolé un ptit truc avec mais sous free ca marche pas :o(
et en vérifiant avec les pages de tortuegeniale ca me donne la même erreur
cf----> http://tuturzone.free.fr/tortue/

"No such file or directory (2) in /var/www/free.fr/e/e/tuturzone/tortue/index.php on line 2"

Il faut spécifier au serveur ou stocker les cookies ou quoi?

et à prioris les erreurs de header aprés c parce ya celle là avant non?

c surement une erreur de serv PHP parce que chez moi ca marche niquel...
ghostahjay Messages postés 12 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 28 août 2005
19 févr. 2004 à 19:19
Super tuto rien a redir jai trouver mon bonheur dan tes explications
Bonne continuation ! :)
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
7 févr. 2004 à 17:13
Moi je ne sais pas mais je suppose que je peux le trouver avec phpinfo() reste tout de même que c'est plate ne pas avoir le control la-dessus :(


Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
7 févr. 2004 à 15:53
moi mon hébergeur les limites a kelke minutes alors que normalement c environ 27 minutes ...
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
7 févr. 2004 à 15:42
D'accord alors c'est mort :(

Merci pareil ;) c'est juste que c'est fatiguant les sessions trops courtes ^^ Admettons tu laisse le site là et tu reviens un peu de temps apres...


Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
7 févr. 2004 à 15:40
c pas le php.ini qui est modifié, c une variable qui outrepasse celle du php.ini. Pour modifier le php.ini y a une fonction iniset() ou un truc du genre mais toujours la meme chose, si t'as pas accés c mort
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
7 févr. 2004 à 15:35
Ah...:( d'accord merci...

Car j'ai vu des sites ou à la connexion l'on pouvait choisir la durée de session que l'on voulait...comment s'y prennent-ils ? Ils modifient le php.ini chaque fois ?


Merci


Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
7 févr. 2004 à 15:32
Hello

La durée d'une session est fixée dans le php.ini. Si tu veux pouvoir la modifier il faut que ton hébergeur te permette de le faire. Donc a moins que tu héberges chez toi ou que tu ais un serveur dédiés, c mal parti ...

++
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
7 févr. 2004 à 03:10
J'ai fait session_set_cookie_params(7200); avant d'enregistrer mes variables de session pour que la session dure 2 heures mais en faisant un print_r de session_get_cookie_params() sa me renvoie que le lifetime est de 0. comment se fait-il ?

Merci


Mathieu M-G
SATANdemon Messages postés 44 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 novembre 2005
16 janv. 2004 à 16:47
superbe, j'en avais besoin pour mon site !!
merci pour le boulot !!
phpkiller Messages postés 1 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 12 janvier 2004
12 janv. 2004 à 17:19
exactement ce ke je recherchait. Merci beaucoup.
cs_fredzool Messages postés 40 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 2 janvier 2009
25 déc. 2003 à 21:15
avec mon code
<?
...........
..........
..........
?>
les sessions passe bien mais si j inclu a la suite de ?> du code html
je perds les variables de ma session pk et que faire

merci
freedzool@wanadoo.fr
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
30 nov. 2003 à 08:41
a mon avis, tu n'as pas de $utilisateur = avant d'afficher le formulaire c tout :)
montre aussi les select pour voir si le problème il n'est pas la
cs_SkyCrasher Messages postés 143 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mai 2015
29 nov. 2003 à 17:32
Bon merci même si je devrais trouvé par moi même...
C'est bien gentil $_SESSION['utilisateur'];
Mais mon pb concerné les id !
Mais je crois que je vais trouvé donc merci !
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
29 nov. 2003 à 17:27
voici le bon code :
<?
session_start();
$utilisateur = $_SESSION['utilisateur'];
if($utilisateur == "SkyPlayer") {
$id = "1";
}else{
$id = "2";
}

// "Select * form articles where id='$id'";
//après je fais un "select * from membres where id='$id'";
//puis un formulaire du 10eme article : http://url/article.php?id=10
?>
<form>
>
</form>

ca ca devrait marcher bien que ton code n'est pas tout complet :)
cs_SkyCrasher Messages postés 143 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mai 2015
29 nov. 2003 à 17:20
Cela ne résous pas mon problème !
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
29 nov. 2003 à 17:13
utilise pas session_is_registred qui n'est plus d'actualité !!!
utilise $_SESSION['utilisateur'] pour vérifié :)
cs_SkyCrasher Messages postés 143 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mai 2015
29 nov. 2003 à 17:10
Moi j'ai un problème assez compliqué et je ne sais pas si c'est un problème à cause de variable identique sur plusieurs table mysql ou quelquechose d'autre :

voilà une page d'exemple qui me créé se genre de problème :
<? session_start();
if(session_is_registered("utilisateur")=="SkyPlayer"){
$id = "1";
}else{
$id = "2";
}
// "Select * form articles where id='$id'";
//après je fais un "select * from membres where id='$id'";
//puis un formulaire du 10eme article : http://url/article.php?id=10
<form>
>
</form>

L'embettant c'est que la à $utilisateur il reprend l'auteur de l'article et non l'utilisateur en cours !
Est-ce que cela vient du fait que les tables membres et articles ont toputes les deux un champ appelé id ?
Je ne sais pas comment arrangé ça aidez moi !
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
29 nov. 2003 à 08:44
en fait, c'est un "problème" avec easyphp 1.7. Il y a moyen que ton erreur ne s'affiche pas en mettant ceci :
error_reporting (E_ALL ^ E_NOTICE );
(je crois que c'est ca)
tu le mets dans ta page php au tout début et alors il ne va plus afficher les notices :)
cs_jashugan Messages postés 28 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 27 mai 2010
28 nov. 2003 à 23:54
ha ok :/ donc y'a rien a faire pour mon cas desespéré :' ( lol a chaque fois que je vois un tuto j'ai pas la bonne version :/
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
28 nov. 2003 à 23:52
c normal easyphp 1.7 n'as pas la meme version de php que easyphp 1.6, Les sessions ont changés sur certaines fonctions.
cs_jashugan Messages postés 28 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 27 mai 2010
28 nov. 2003 à 23:38
j'ai un pb moi rien qu'avec la première partie je la met dans un index.php de easyphp (ds le dossier www) et qd je l'execute par http://127.0.0.1/ et bien ca me dis :

Notice: Use of undefined constant variable - assumed 'variable' in e:program fileseasyphp1-7wwwindex.php on line 7
Variable de session enregistrée ...
Options des sessions

L'id de la session est 41513229c4b6eb3ed65c02456c2f6de7

ensuite j'essay la 2eme partie(en cliquant sur option de session), et sa me met

Notice: Undefined variable: _session in e:program fileseasyphp1-7wwwviewsession.php on line 4
La variable de session qui a été enregistrée est
Ajoutons une variable à la session

L'id de la session est 41513229c4b6eb3ed65c02456c2f6de7

il me dis pas le nom de la variable :/

Si quelqu'un peux m'aider plzzz
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
23 nov. 2003 à 00:10
"Cannot send session cookie - headers already sent by" ... relit le tuto
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
23 nov. 2003 à 00:07
en fait, ca dépent de la config de apache !!
moi en local ca passe sans probleme mais sur mon hébergeur, ca doit passer par les PHPSESSID
mais dans ta page php, tu peux rajouter un SID qui est un define de la session
du genre :
echo '[index.php?mode=news&',SID,' News]';
enfin tu vois le genre quoi :)
cs_SkyCrasher Messages postés 143 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mai 2015
23 nov. 2003 à 00:02
Est-ce normal que certaine page ne s'approprie pas une url du type :
page.php?PHPSESSID=rg4gfh545gfh44f4 ?
Les variables sont bien renvoyées à chaque nouvelle page mais aucune url de ce type n'est obtenue !
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
22 nov. 2003 à 23:55
car tu as mis le session_start alors que les headers ont déjà été envoyé !!!
mets le session_start tout en haut de ta page
cs_SkyCrasher Messages postés 143 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mai 2015
22 nov. 2003 à 23:42
Cannot send session cookie - headers already sent by
Erreur rencontrer sous Easy PHP !
Pourquoi cette erreur ?
Tomcube Messages postés 311 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 14 septembre 2004 1
19 oct. 2003 à 21:42
La mise à jour de PHP en version 4.3 a entraîné quelques changements ! Tortuegeniale, t'as du pain sur la planche pour refaire ton tuto.

voici la page ou il fo aller (Source : nexen.net) : http://dev.nexen.net/docs/php/annotee/session.examples.php

En voici un extrait :

L'utilisation de $_SESSION (ou $HTTP_SESSION_VARS avec PHP 4.0.6 et plus ancien) est recommandé pour une meilleure sécurité et un code plus facilement maintenable. Avec $_SESSION , il n'y a pas besoin d'utiliser les fonctions session_register , session_unregister et session_is_registered . Les variables de sessions sont accessibles comme toute autre variable. Enregistrer une variable avec $_SESSION.

<?
phpsession_start();
// Utilisez $HTTP_SESSION_VARS avec PHP 4.0.6 ou plus ancien
if (!isset($_SESSION['count'])) {
$_SESSION['compteur'] = 0;
} else {
$_SESSION['compteur']++;
} ?>


Retirer une variable de session avec $_SESSION et register_globals inactif.

<?
phpsession_start();
// Utilisez $HTTP_SESSION_VARS avec PHP 4.0.6 ou plus ancien
unset($_SESSION['compteur']);
?>
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
28 juil. 2003 à 11:53
oui ça marche sur free, je m'en sers sur mon site.
Il faut une extension *.php, en php3 ça marche pas

Par contre pour tes erreurs en *.php ça doit etre header has allready send .... Si c ça, je l'ai écris dans le tuto, ne met pas de html ou meme une ligne blanche avant le session start.
draven13 Messages postés 5 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 24 avril 2005
27 juil. 2003 à 11:16
est que ce source sur les session marche sur le serveur free
si je laisse l'extensionphp, il ne met plein d'erreur et quand je met php3 il me met :
Fatal error: Call to unsupported or undefined function session_start() in your script on line 4
merci
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
13 juil. 2003 à 12:26
je comprend pas ce que tu dis lol
1 cookie 1 Session ID 1 seul et unique personne et cet ID est passé de façon invisible page par page (ou de façon visible celon le php ini). Que le client accepte les cookies ou ai un firewall ça a rien a voir, vu que tout (id de session, variable de session) est stocké sur le serveur et jamais un visiteur ne peut y toucher
additif Messages postés 2 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 13 juillet 2003
13 juil. 2003 à 00:54
oui, c'est vrai, les infos sont stockées sur le serveur.

Cependant, pour savoir quel cookie-info ouvrir, il faut un identifiant unique du visiteur qui peut être récupéré de 2 façons :
- dans l'URL ( ...&sessid=fd152f45d4f5d4f5d.....)
- à la lecture d'un cookie placé sur l'ordinateur du visiteur

Sans cet identifiant unique, il est impossible de suivre ton visiteur à la trace (il s'agit uniquement de statistiques et pas d'espionnage).

Les firewall récents bloquent les cookies et détectent (et suppriment) les infos de sessions placées dans l'URL.
J'en suis certain pluisque l'IP est la même et les pages vues se suivent à quelques dizaines de secondes près.
Cela représente presque 10% de mes visiteurs...

Je travaille actuellement sur la solution suivante : je transforme mes liens hypertextes en formulaires et je passe ainsi mon infos de session en variable HIDDEN.

ça marche mais il y a sans doute plus simple.
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
11 juil. 2003 à 21:04
le cookie de session est gardé sur le serveur dans le dossier temporaire, pas sur le client donc ça a rien a voir
additif Messages postés 2 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 13 juillet 2003
11 juil. 2003 à 19:08
Bonjour,

Les sessions, j'adore ! ça me permet de gérer les droits de mise à jour sur mes sites et de suivre le parcours des visiteurs (statistiques de consultation...).

Seul problème : les utilisateurs paranos qui activent un firewall au maximum et bloquent les cookies : dans ce cas, le numéro de session est perdu à chaque changement de page... et mes stats tombent à l'eau.

Je pensais me rabattre sur l'adresse IP mais ça ne marche pas lorsque plusieurs utilisateurs connectés sur un même réseau se connectent en même temps (ex: dans une entreprise)...

Dès fois que quelqu'un ait une idée géniale à ce sujet ?
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
8 juil. 2003 à 17:56
nan justement fait pour garder ses infos en mémoire car 1 id = 1 client.
xtcrsr Messages postés 3 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 18 juillet 2003
8 juil. 2003 à 17:01
Super, justement ce que je cherchais :)
Une petite question, l'id et le name changent-il d'une page a l'autre?
cs_ekinoks Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 novembre 2005
13 juin 2003 à 01:13
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
4 juin 2003 à 17:44
Pentium4> ouais recherche dans les vieilles news de cs j'ai mis un lien qui donne certaines nouveautés mais il bug souvent

ninou2> tu vois je suis pas ingénieur php et j'ai franchement autre chose a faire qu'a installer php 4.3.x pour voir ce qui déconne chez toi. T'as qu'a mettre easy php, comme ça t'aura pas de problème parcequ'en regardant tous les hebergeurs même payant, rare sont ceux qui sont sous un php supérieur a 4.2.x.
Prendre la dernière version d'un langage c bien pour testé mais pas pour coder car il y a souvent des bugs
ninou2 Messages postés 3 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 4 juin 2003
4 juin 2003 à 17:16
Tortue geniale : Pas tant que cela, car je n'ai pas eu de vraie réponse !!
Merci quand même
cs_Pentium4 Messages postés 43 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 26 octobre 2004
4 juin 2003 à 16:15
php 5.0.0 va bientôt debarquer !
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
4 juin 2003 à 16:01
bah c ton serveur ki déconne, ça marche parfaitement chez tout le monde et j'ai pas entendu parlé de changement dans les sessions au passage en php 4.3.x
ninou2 Messages postés 3 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 4 juin 2003
4 juin 2003 à 13:20
Désolé, mais ca ne marche pas sur mon serveur . Dans le fichier VIEWSESSION.PHP, il n'affiche pas la variable qui est stocké dans la session.
Version PHP : 4.3.2 Windows 2000 SP3.
ninou2
coolboy78 Messages postés 76 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 20 novembre 2007
28 avril 2003 à 21:06
Ah ca fai plaisir ! je comprend mieux maintenant !
lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
14 avril 2003 à 21:10
de la balle
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
5 mars 2003 à 00:24
ah enfin de bonnes explications détaillées sur les sessions!
cs_Pentium4 Messages postés 43 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 26 octobre 2004
27 févr. 2003 à 17:44
ya po de probleme c bon sa franchement faudrait que je me repenche dessus mon vieu ptit htaccess ne fait po le poids bien jouer et continue tu est sur ke je serai le premier a dl t source :P
cs_hicksman Messages postés 258 Date d'inscription mercredi 14 août 2002 Statut Membre Dernière intervention 23 avril 2004 1
27 févr. 2003 à 13:34
ah ben ça! si c'est pas un bon tuto, je m'y connais plus!
Bravo jeune padawan! [;)]
Chapeau bas, respect, et tout, et tout!

Hicksman
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
27 févr. 2003 à 07:40
J'AI RIEN DIT POUR LES VARIABLES DE SESSIONS $_SESSION... j'avais pas vu dans le code qu'il y en avait... sorry sorry sorry :(
cs_Pentium4 Messages postés 43 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 26 octobre 2004
27 févr. 2003 à 07:39
ya une modif ??? sa a lair cool si g bien compris on peut CE rajouter , ce modifier , ce retirer com un login normale ?? j aten de savoir si il y a des modif a faire mais sa a lair très interressant !
cs_koko Messages postés 654 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 20 février 2005
27 févr. 2003 à 07:32
register_global stp !!!
les variables sont alors en $_SESSION()
Rejoignez-nous