Accès Membres (PHP)

manolo06

Membre confirmé
22 Mars 2008
25
0
Vallauris (06)
Salut à tous,
Je rencontre un problème comme vous pouvez vous l'imaginer :siffle:

Je vous explique :
Je suis entrain de développer une "mini" boutique (puisqu'elle vends qu'un type de produit).
Je n'ai pas voulu passer par le superbe outil OScommerce qui serait beaucoup trop "lourd" pour une si petite application.
Tout est développé et fonctionne.
Le (futur) client rempli son caddie et par la même occassion une base de données avec toutes les infos sur les produits qu'il engrange.
Ceux-ci sont "liés" dans la Bdd par le même n° de session.
j'ai codé ça avec :
Bloc de code:
session_start();
$idsession=session_id();
Une fois que le client veut finaliser sa commande, il doit passer par une identification (ou un formulaire de création de fiche client qui lui donne ensuite le moyen de s'indentifier).

Cette identification passée, il peut finaliser sa commande ... ou repartir continuer à remplir son caddie.
Et c'est là que je m'en sors pas ... (Et voui on y arrive .... :rose:)
Comment je peux faire pour garder en mémoire le fait qu'il a été identifié.
Actuellement je fait un test sur chaque lien de navigation du style :
Bloc de code:
<a href="achat.php<? if($id_membre != ''){echo"?id_membre=$id_membre";}?>">retour</a>
Mais ça devient bien trop pesant de passer la variable dans l'URL ... :(

Quelqu'un aurait-il une idée ?
Est-ce que le fait de passer $id_membre en GLOBAL ou dans le genre pourrait solutionner mon problème ?

Gracias par avance ... et désolé pour la longueur mais je voulais bien "planter" le décor ... :rose:
 
:mouais:

Heu... $_SESSION ?
Slt p4bl0,
Tu peux me donner un peu plus d'explications ?

Je fait quoi ?
Quand le membre est connecté après vérification de ses identifiants, je déclare $_SESSION comme ça ?
Bloc de code:
[COLOR=#000000][COLOR=#007700]if (isset([/COLOR][COLOR=#0000bb][COLOR=#007700]$id_membre[/COLOR][/COLOR][COLOR=#007700])) {
    [/COLOR][COLOR=#0000bb]$_SESSION[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'id_membre'[/COLOR][COLOR=#007700]] = [/COLOR][COLOR=#0000bb]$id_membre;[/COLOR][COLOR=#007700]
}[/COLOR][/COLOR]
 
Bonjour,

comme le problème a été résolu, je saisis la balle au bond pour poser une question corollaire, je l'espère pas trop hors sujet :
Comment faire pour que, une fois que le membre quitte son "espace personnel" (en détruisant par la même occasion les variables de session), le navigateur ne puisse pas afficher les pages précédemment visitées gardées en cache, avec la touche de retour ?
Certes, comme les variables de session seront détruites, l'utilisateur malveillant ne pourra pas faire d'action, mais il peut quand même voir des données affichées sur la page...

Je crois savoir qu'il n'y a pas de solution miracle, puisque même ma banque n'y arrive pas (en quittant ma session, j'arrive quand même à voir mes comptes s'afficher à nouveau sur la page précédente), mais peut-être y a-t-il des astuces pour éviter qu'on ne puisse remonter trop loin.
Du genre, forcer la fermeture de la fenêtre et en ouvrir une autre à la place ?...

Je pose la question car mon site est susceptible d'être beaucoup utilisé sur une borne publique, avec plusieurs utilisateurs qui se connectent à leur session successivement, et qui n'ont pas forcément le réflexe de vider le cache du navigateur à chaque fois.
 
Merci à tous, le coup de $_SESSION fonctionne parfaitement.
Comme je suis un total nul dans le domaine des sessions, que je n'avais jamais pris le temps de me pencher sur la question et que jusqu'à présent, je "bataillé" pas trop dans mes scripts, j'ai fait pas mal de recherches pour me documenter et voir ce que ça donne .... :mouais:

Et là, je tombe là dessus : http://www.phpdebutant.org/article69.php

Ca m'a super bien servi ...
Un exemple bien contraint : Rien de tel pour se casser la tête et commencer à comprendre le bignou ...
Si ça peut aider quelqu'un. :rose:

Gracias à tous.
Promis, je vais essayer de pas vous casser les pieds pendant le reste de ce week-end.
 
Ouaip phpdebutant j'ai appris le php avec ça quand j'avais pas encore tellement de notion de programmation, c'est relativement bien fichu.
Pour le cache il y a des balises meta no-cache en html qui à priori évitent que le navigateur conserve les données d'une page. Mais c'est aussi hyper chiant pour naviguer sur les sites parce que ça recharge tout à chaque fois qu'on clique sur le bouton précédent. Donc à ne pas utiliser sur une page où ce n'est pas absolument nécessaire. D'ailleurs certains sites en abusent.
http://www.commentcamarche.net/html/htmlmeta.php3
 
Ouaip phpdebutant j'ai appris le php avec ça quand j'avais pas encore tellement de notion de programmation, c'est relativement bien fichu.
Pour le cache il y a des balises meta no-cache en html qui à priori évitent que le navigateur conserve les données d'une page. Mais c'est aussi hyper chiant pour naviguer sur les sites parce que ça recharge tout à chaque fois qu'on clique sur le bouton précédent. Donc à ne pas utiliser sur une page où ce n'est pas absolument nécessaire. D'ailleurs certains sites en abusent.
http://www.commentcamarche.net/html/htmlmeta.php3

Merci pour tes conseils, effectivement, mieux vaut renoncer à cette idée...