Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

Accès Membres (PHP)

Discussion dans 'Développement web' créé par manolo06, 23 Août 2008.

Modérateurs: Nephou
  1. manolo06

    manolo06 Membre junior

    Inscrit:
    22 Mars 2008
    Messages:
    25
    J'aime reçus:
    0
    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 :
    Code (Text):
    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 :
    Code (Text):
    <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:
     
  2. p4bl0

    p4bl0 Membre d’élite
    Club MacG

    Inscrit:
    12 Juillet 2004
    Messages:
    4 772
    J'aime reçus:
    425
  3. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    Oui, soit tu sauvegardes ta variable en session, et tu laisses php gérer ça tout seul, soit tu peux envoyer des cookies.
     
  4. manolo06

    manolo06 Membre junior

    Inscrit:
    22 Mars 2008
    Messages:
    25
    J'aime reçus:
    0
    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 ?
    Code (Text):

    [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]
     
     
  5. manolo06

    manolo06 Membre junior

    Inscrit:
    22 Mars 2008
    Messages:
    25
    J'aime reçus:
    0
    salut grumff,

    j'ai un peu peur des cookie car suivant les utilisateurs et les configurations de leur navigateur les cookies peuvent être bloquées et ça peut être un soucis, non ?
     
  6. fredintosh

    fredintosh Vétéran
    Club MacG

    Inscrit:
    25 Novembre 2005
    Messages:
    5 618
    J'aime reçus:
    984
    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.
     
  7. manolo06

    manolo06 Membre junior

    Inscrit:
    22 Mars 2008
    Messages:
    25
    J'aime reçus:
    0
    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.
     
  8. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    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
     
  9. fredintosh

    fredintosh Vétéran
    Club MacG

    Inscrit:
    25 Novembre 2005
    Messages:
    5 618
    J'aime reçus:
    984
    Merci pour tes conseils, effectivement, mieux vaut renoncer à cette idée...
     
Modérateurs: Nephou
Chargement...