M2202
PHP.net
  • Introduction
  • Séance 1 : Révisions
  • Séance 2 : Révisions BDD
  • Séance 3 : Formatage et fonctions pratiques en PHP
  • Séance 4 : Sessions et panier
  • Séance 5 : Sessions et panier
  • Séance 6 : Sécurisation du back-office en PHP
  • Séance 7 : Sécurisation du back-office en PHP
  • Séance 8 : Manipulation d'images
  • Séance 9 : Intégration d'image sur DUTAF
  • Séance 10 : Export format text/csv
  • Séance 11 : Export format text/csv
  • Séance 12 : Finalisation DUTAF2
  • Séance 13 : Evaluation TP
  • Séance 14 : Evaluation écrite
  • Ressources
    • Accès aux base de données
Powered by GitBook
On this page
  • Principe à mettre en place
  • Astuces
  • Améliorations à apporter.

Was this helpful?

Séance 5 : Sessions et panier

A partir de cette séance, votre implication et votre participation dans le cours sera valorisée (proposition de solution en PV pour les exercices, interactions sur la séance).

Dans cette partie nous allons appliquer les sessions au cas DUTAF en créant un panier dans lequel un visiteur pourra sauvegarder les produits.

Principe à mettre en place

Voici les étapes que nous allons suivre pour la mise en place de ce panier.

  1. Ajout d'un bouton sur chaque article du catalogue (et de la recherche) pour permettre l'ajout au panier. Ce bouton sera un lien, qui contiendra l'ID de l'article que l'on souhaite ajouter au panier.

  2. Ecrire le fichier de traitement, qui sauvegardera l'article ajouté dans le panier. On sauvegarder l'Id du produit, la quantité et le prix unitaire

  3. Ecrire la page panier qui affichera le contenu du panier en effectuant le calcul du total par produit et le total complet du panier.

Astuces

  • Pour rappel, on peut générer un lien avec l'ID comme ci-dessous, si $article_id contient l'ID de l'article.

<a href="ajout_panier.php?id=<?php echo $article_id; ?>">Ajouter au panier</a>
  • Pour récupérer les informations dans la page de traitement du produit, on pourrait écrire :

$numarticle = $_GET['id'];

//Et pour récupérer les informations du produit concerné

$dblink = new PDO('mysql:host=' . BDD_SERVER . ';dbname=' . BDD_DATABASE . '; charset=utf8', BDD_USER, BDD_PASSWORD);
$requete = 'SELECT * FROM articles WHERE article_id = ' . $numarticle;
$exearticle = $dblink->query($requete);

$article = $exearticle->fetch(); //récupération du premier (et normalement unique, enregistrement)
  • On peut considérer le panier comme un tableau où la clé serait l'Id du produit. On peut ensuite sauvegarder l'ensemble des éléments du produit (nom, prix unitaire, quantité), sous un tableau associatif.

$panier = array(
  12 => array('designation' => 'ABC123', 'Prix_u'=> '12,34', 'Quantite' => 3), 
  ... //(les autres produits)
  );
// où 12  représente l'id du produit

Améliorations à apporter.

  • Si un utilisateur ajoute plusieurs fois un produit identique, il faut mettre à jour la quantité demandée dans la session.

  • Il serait intéressant de pouvoir supprimer un produit présent dans le panier

PreviousSéance 4 : Sessions et panierNextSéance 6 : Sécurisation du back-office en PHP

Last updated 4 years ago

Was this helpful?