1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Comment réaliser un historique d'achat ? (PHP, MySQL)

Discussion dans 'Vos Questions' créé par Biogelix, 15 Janvier 2017.

MineStrator, Votre hébergeur de serveur minecraft
  1. Biogelix

    Biogelix Soldat

    13
    2
    3
    Saluté!

    Je suis en terminale STI2D SIN et mon projet est de réaliser un site web où l'on peut acheter des livres sous format PDF.
    Le projet est bien bien avancé mais j'en suis au stade où il faut gérer le paiement, et l'envoi du livre en PDF pour ça j'utilise l'API stripe (pour le paiement).

    Voilà ma problématique :

    Selon-moi il y a deux solutions possibles :

    1. Une fois l'achat déclenché ( par stripe donc ) un mail est envoyé au client contenant un lien pour télécharger le fichier en PDF
    • => Problème : Chaque personne connaissant le chemin d'accès aux fichiers PDF peuvent télécharger ( monsite.fr/files/un_livre_super.pdf )
    2. Faire un système d'historique d'achat où le client peut accéder aux livres qu'il a acheter depuis sa page de profil, et qu'il puisse les télécharger quand il le souhaite
    • => Le problème reste le même au niveau de l'accès aux fichiers PDF
    • ==>Problème 2 : Comment stocker dans la BDD l'information suivante : L'utilisateur X a acheter le livre Y

    Je sais pas trop si j'ai été clair, je vous remercie par avance de votre aide :)

    Biogelix
     
  2. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Fait un lien valable qu'une seule fois ;)
    Utilise un token CSRF ;)
    Merci de vous Connecter/S'inscrire pour voir les liens.
     
    • J'aime J'aime x 1
  3. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Ou, tu demande un code avant d'accéder au PDF, ce code serait généré aléatoirement lorsque tu crées l'article et il serait donné à toutes les personnes qui ont accès au livre
     
    • J'aime J'aime x 1
  4. Biogelix

    Biogelix Soldat

    13
    2
    3
    Ok, pour le Token CSFR :

    j'ai fait un rapide schéma sur draw.io, mon raisonnement est-il bon ?

    [​IMG]
     
    • J'accepte J'accepte x 1
  5. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Je pense que c'est bon
     
    • J'aime J'aime x 1
  6. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Oui ça doit être bon :)
     
    • J'aime J'aime x 1
  7. Biogelix

    Biogelix Soldat

    13
    2
    3
    :Yawn: Je viens de penser à une chose : n'importe quel utilisateur aura accès à la page achat_valide.php du coup :/
     
  8. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Tu t'en fiche tant que tu vérifies, avant de donner le jetons, si la personne a bien payé
     
    • J'aime J'aime x 1
  9. Biogelix

    Biogelix Soldat

    13
    2
    3
    Ok en gros, sur la la page achat_valide.php je vérifie :

    PHP:
    <?php
    // Je vérifie si le paiement a bien été réalisé via l'API stripe
    if(isset($TOKEN_STRIPE))
    {
    // Générer le TOKEN CSRF

    // Redirection vers la page de téléchargement
    }
    ?>
     
  10. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Ou alors tu peux faire, comme sur le tuto, une fonction, comme ça tu peux l'utiliser partout rapidement sans tout refaire ;)
     
    • J'accepte J'accepte x 1
  11. Biogelix

    Biogelix Soldat

    13
    2
    3
    super! Merci beaucoup pour votre aide bien précieuse :D
     
    • J'aime J'aime x 1
    • J'accepte J'accepte x 1
  12. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Je peux lock ?
     
    • J'aime J'aime x 1
  13. Biogelix

    Biogelix Soldat

    13
    2
    3
    Oui c'est bon pour moi :)
    Juste, j'ai modifier le shéma, tu en penses quoi ?[​IMG]
     
  14. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Ça devrait aller :)

    EDIT: Oublie pas de supprimer le token après hein?
     
    • J'aime J'aime x 1
    Dernière édition: 15 Janvier 2017
  15. Biogelix

    Biogelix Soldat

    13
    2
    3
    Comment supprimer le token sans attendre les 15 minutes ? :d
     
  16. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Tu l'as stocké comment le token, en session ou cookie?
     
  17. Biogelix

    Biogelix Soldat

    13
    2
    3
    en session, mais si je fais ça :

    PHP:
    session_start();
    $_SESSION = array();
    session_destroy();
    ça va aussi delete la session de l'utilisateur et donc le connecter non ?
     
  18. AngryKiller

    AngryKiller ✬ Maréchal ✬

    1 037
    159
    63
    Bah tu fais:
    PHP:
    $_SESSION['csrf'] = null;
     
  19. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    ou unset($_SESSION['csfr']);
     

Partager cette page

Chargement...