Tous pour le Développement web
Créer votre panier en PHP
L’utilisation d’un panier électronique dans un site web e-commerce est devenu obligatoire pour que les internautes puissent ajouter leurs produit dedans et bien gérer son panier.
Nous allons voir dans ce tutoriel comment avoir toutes les fonctions utiles pour créer un panier en php
-
-
<?php
-
// ———————————————————————–
-
// Ajoute un article dans le panier
-
// ———————————————————————–
-
function ajout($select){
-
$ajout = false;
-
if(!verif_panier($select[‘id’])){
-
$ajout = true;
-
}
-
else{
-
$ajout = modif_qte($select[‘id’],$select[‘qte’]);
-
}
-
}
-
return $ajout;
-
}
-
-
-
// ———————————————————————–
-
// Modifie la quantité d’un article dans le panier
-
// ———————————————————————–
-
function modif_qte($ref_article, $qte){
-
/* On initialise la variable de retour */
-
$modifie = false;
-
if(nombre_article($ref_article) != false && $qte != nombre_article($ref_article)){
-
/* On compte le nombre d’articles différents dans le panier */
-
/* On parcoure le tableau de session pour modifier l’article précis. */
-
for($i = 0; $i < $nb_articles; $i++){
-
if($ref_article == $_SESSION[‘panier’][‘id_article’][$i]){
-
$_SESSION[‘panier’][‘qte’][$i] = $qte;
-
$modifie = true;
-
}
-
}
-
}
-
else{
-
/* L’article est absent du panier, donc on ne peut pas modifier la quantité ou bien
-
* le nombre est exactement le même et il est inutile de le modifier
-
* Si l’article est absent, comme on a ni la taille ni le prix, on ne peut pas l’ajouter
-
* Si le nombre est le même, on ne fait pas de changement. On peut donc retourner un autre
-
* type de valeur pour indiquer une erreur qu’il faudra traiter à part lors du retour d’appel
-
*/
-
if(nombre_article($ref_article) != false){$modifie = "absent";}
-
if($qte != nombre_article($ref_article)){$modifie = "qte_ok";}
-
}
-
}
-
return $modifie;
-
}
-
-
// ———————————————————————–
-
// Supprimer un article du panier après vérification que nous ne somme pas en phase de paiement
-
// ———————————————————————–
-
function supprim_article($ref_article){
-
$suppression = false;
-
/* On vérifie que l’article à supprimer est bien présent dans le panier */
-
if(nombre_article($ref_article) != false){
-
/* création d’un tableau temporaire de stockage des articles */
-
/* Comptage des articles du panier */
-
/* Transfert du panier dans le panier temporaire */
-
for($i = 0; $i < $nb_articles; $i++){
-
/* On transfère tout sauf l’article à supprimer */
-
if($_SESSION[‘panier’][‘id_article’][$i] != $ref_article){
-
}
-
}
-
/* Le transfert est terminé, on ré-initialise le panier */
-
$_SESSION[‘panier’] = $panier_tmp;
-
/* Option : on peut maintenant supprimer notre panier temporaire: */
-
$suppression = true;
-
}
-
else{
-
$suppression == "absent";
-
}
-
}
-
return $suppression;
-
}
-
-
// ———————————————————————–
-
// Fonction qui supprime tout le contenu du panier en détruisant la variable après
-
// vérification qu’on ne soit pas en phase de paiement.
-
// ———————————————————————–
-
function vider_panier(){
-
$vide = false;
-
$vide = true;
-
}
-
}
-
else {
-
/* Le panier était déjà détruit, on renvoie une autre valeur exploitable au retour */
-
$vide = "inexistant";
-
}
-
}
-
return $vide;
-
}
-
-
// ———————————————————————–
-
// Vérifie la quantité enregistrée d’un article dans le panier
-
// ———————————————————————–
-
function nombre_article($ref_article){
-
/* On initialise la variable de retour */
-
$nombre = false;
-
/* Comptage du panier */
-
/* On parcoure le panier à la recherche de l’article pour vérifier le cas échéant combien sont enregistrés */
-
for($i = 0; $i < $nb_art; $i++){
-
if($_SESSION[‘panier’][‘id_article’][$i] == $ref_article)
-
$nombre = $_SESSION[‘panier’][‘qte’][$i];
-
}
-
return $nombre;
-
}
-
-
// ———————————————————————–
-
// Calcule le montant total du panier
-
// ———————————————————————–
-
function montant_panier(){
-
/* On initialise le montant */
-
$montant = 0;
-
/* Comptage des articles du panier */
-
/* On va calculer le total par article */
-
for($i = 0; $i < $nb_articles; $i++){
-
$montant += $_SESSION[‘panier’][‘qte’][$i] * $_SESSION[‘panier’][‘prix’][$i];
-
}
-
/* On retourne le résultat */
-
return $montant;
-
}
-
-
// ———————————————————————–
-
// Vérifie la présence d’un article dans le panier
-
// ———————————————————————–
-
function verif_panier($ref_article){
-
/* On initialise la variable de retour */
-
$present = false;
-
/* On vérifie les numéros de références des articles et on compare avec l’article à vérifier */
-
if( count($_SESSION[‘panier’][‘id_article’]) > 0 && array_search($ref_article,$_SESSION[‘panier’][‘id_article’]) !== false){
-
$present = true;
-
}
-
return $present;
-
}
-
-
// ———————————————————————–
-
// Fonction de verrouillage du panier pendant la phase de paiement.
-
// ———————————————————————–
-
function preparerPaiement(){
-
$_SESSION[‘panier’][‘verrouille’] = true;
-
// Redirection vers le site du paiement en ligne
-
}
-
-
// ———————————————————————–
-
// Fonction qui va enregistrer les informations de la commande dans
-
// la base de données et détruire le panier.
-
// ———————————————————————–
-
function paiementAccepte(){
-
// Stockage du panier dans la BDD
-
}
-
?>
-
Source : http://jmolline.free.fr/tutos/tuto_panier.html
| Imprimer l'article | Cette entrée a été posté par yosweb le 6 juin 2011 à 10 h 44 min, et placée dans PHP. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |