Pb session php/mysql

Résolu
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 8 août 2005 à 21:13
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 - 9 août 2005 à 10:48
Yop !

Voilà j'ai 2 petites questions urgentes. Vous serez super cool de bien répondre à mes questions !! :)



C'est au niveau des sessions php avec base de donnée MySQL.



Je dois mettre en place un système de session pour créer une option de panier achat sur mon site.

Si sur ma page Web de début je marque (avant le <head> html)
start_session(), tous les utilisateurs qui se connectent sur ma page
pourront avoir un numéro de session différent et unique à leur première
connexion. Mais par contre lorsqu'un utilisateur quitte ma page Web et
qu'il se reconnecte ensuite est-ce qu'un nouveau id_session lui est
attribué ou est ce que la reconnaissance de l'utilisateur est
automatique au quel cas le id_session ne change pas?



La fonction session_destroy() est-elle obligatoire? Est-ce que toutes
les informations dans MySQL qui sont rattachées à un id_session sont
détruites, (cad suppression de toutes les informatiosn relatives à
toutes les tables qui reprennent en clé étrangère id_session)?



Où faut il placer la fonction session_destroy() sachant qu'à tous moments un utilisateur peut fermer son explorateur.



Merci d'avance les gars. Toutes réponses sont bienvenues!!



JO

7 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 août 2005 à 22:51
Salut,



"Mais par contre lorsqu'un utilisateur quitte ma page Web et qu'il se
reconnecte ensuite est-ce qu'un nouveau id_session lui est attribué ou
est ce que la reconnaissance de l'utilisateur est automatique au quel
cas le id_session ne change pas?"



ça dépend si le cookie de session sur le pc de l'utilitateur est encore
sur le navigateur et ça dépend du session.max_lifetime dans le php.ini


"Mais par contre lorsqu'un utilisateur quitte ma page Web et qu'il se
reconnecte ensuite est-ce qu'un nouveau id_session lui est attribué ou
est ce que la reconnaissance de l'utilisateur est automatique au quel
cas le id_session ne change pas?"



Cf ma réponse ci dessus



"La fonction session_destroy() est-elle obligatoire?"



Non



"Est-ce que toutes
les informations dans MySQL qui sont rattachées à un id_session sont
détruites, (cad suppression de toutes les informatiosn relatives à
toutes les tables qui reprennent en clé étrangère id_session)?"



Y'a aucune info stockée dans MySQL quand tu utilises les sessions, sauf
si c'est ton propre système de session utilisant mysql, mais pas celui
de PHP.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 août 2005 à 21:43
Il existe un paramètre : session_life_time() je crois si mes souvenirs
sont bons qui défini le temps d'un timeout d'une session utilisateur.
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
9 août 2005 à 09:46
Ok merci, donc pour gérer les sessions pour mon panier achat, je place juste mon start_session() au dessus du header html sur LA première page et tant que le gars est sur ma page il aura le même id_session et les scripts php et requete mysql lui seront propres?
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
9 août 2005 à 10:17
Pour un système de panier achat, lorsqu'un client achète un article sur mon site par exemple il faut que ma base de donnée soit modifiée en fonction du nombre d'aritcles vendus et ajoute le nom de l'acheteur etc. Il faut donc que j'intègre un identifiant de session unique dans ma base mysql. Est-ce exact ?
Si c'est exact est-ce que je peux utiliser la fonction start_session() de php qui attribue un id_session unique à toutes les personnes se connectant sur mon site avec ma base mysql? Cela revient à écrire dans ma base l'id_session unique généré par php et qui identifie un client unique. Je peux l'effacer ensuite dans ma base à un instant t.

Merci de vos réponses j'espère que je pourrai en accepter plein !! ;-)

JO
0

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

Posez votre question
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 août 2005 à 10:17
« les scripts php et requete mysql lui seront propres? »
Pour moi, les sessions c'est simplement pour mémoriser des variables tout au long du parcours du visiteur sur ton site, mais c'est indépendant d'une quelconque base de données...

Arn;o)
0
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
9 août 2005 à 10:28
oui donc est-ce bqu'on peut faire comme j'ai dit plus haut :

"Pour un système de panier achat, lorsqu'un client achète un article sur mon site par exemple il faut que ma base de donnée soit modifiée en fonction du nombre d'aritcles vendus et ajoute le nom de l'acheteur etc. Il faut donc que j'intègre un identifiant de session unique dans ma base mysql. Est-ce exact ?
Si c'est exact est-ce que je peux utiliser la fonction start_session() de php qui attribue un id_session unique à toutes les personnes se connectant sur mon site avec ma base mysql? Cela revient à écrire dans ma base l'id_session unique généré par php et qui identifie un client unique. Je peux l'effacer ensuite dans ma base à un instant t.

Merci de vos réponses j'espère que je pourrai en accepter plein !! ;-)

JO"
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 août 2005 à 10:48
Je suis désolé, je ne comprends pas très bien...
En tout cas, tu peux tout à fait enregistrer dans une table les identifiants de session, en revanche, je ne vois pas très bien l'intérêt...
Si tu veux distinguer chaque client, ne faudrait-il pas mieux que tu utilises des logins ?
0
Rejoignez-nous