Panier en php
rake-off
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
rake-off Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
rake-off Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous écris car j'ai un petit problème, je veux créer un panier sur mon site web pour vendre des produit et j'ai trouvé ce tutoriel
https://jcrozier.developpez.com/articles/web/panier/#LIV
Mais je voudrais savoir, comment cela ce passe, si j'ai besoin d'une base de donnée temporaire.
Car je voulais créer une base de donnée avec mes produit, ensuite quand le client selectionne un article, qu'il aye dans une base de donnée temporaire
( est-ce nécessaire ou non possible car il faudrais une base de donnée temporaire pour chaque personne connecter à son panier, mais sinon ou son stocké les colis du clients pendant qu'il fait ces achats avec des produits dans le panier??)
Et après avoir répondu à ces question je voudrais savoir s'il était possible de cliquer sur "valider le panier" ensuite je serai envoyé vers une pages sur laquelle le client rentreras ses coordonnées et son mode de livraison et seulement ensuite, il sera envoyé vers paypal pour payer le montant qu'il doit.
Merci beaucoup à vous
Cordialement rake-off.
Je vous écris car j'ai un petit problème, je veux créer un panier sur mon site web pour vendre des produit et j'ai trouvé ce tutoriel
https://jcrozier.developpez.com/articles/web/panier/#LIV
Mais je voudrais savoir, comment cela ce passe, si j'ai besoin d'une base de donnée temporaire.
Car je voulais créer une base de donnée avec mes produit, ensuite quand le client selectionne un article, qu'il aye dans une base de donnée temporaire
( est-ce nécessaire ou non possible car il faudrais une base de donnée temporaire pour chaque personne connecter à son panier, mais sinon ou son stocké les colis du clients pendant qu'il fait ces achats avec des produits dans le panier??)
Et après avoir répondu à ces question je voudrais savoir s'il était possible de cliquer sur "valider le panier" ensuite je serai envoyé vers une pages sur laquelle le client rentreras ses coordonnées et son mode de livraison et seulement ensuite, il sera envoyé vers paypal pour payer le montant qu'il doit.
Merci beaucoup à vous
Cordialement rake-off.
A voir également:
- Panier php débutant
- Easy php - Télécharger - Divers Web & Internet
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Expert php pinterest - Télécharger - Langages
- Retrouver mon panier cdiscount - Forum Consommation & Internet
6 réponses
Houla, le sujet est vaste.
Pas de base de données temporaires. Ça n'existe pas, sauf en interne dans les moteurs de base de données.
On ne créé et supprime pas des bases de données à la volée.
Le panier d'un utilisateur, c'est une table dans ta base de données permanente.
Ou bien, le panier de ton utilisateur c'est un objet en session (moins performante approche).
Par exemple tes tables pourraient être:
MonPanier(
IdUtilisateur
DateExpiration
ClefSecrete
IdProduit)
Produit(
Id
Nom
Description
etc...)
Enfin il y a un aspect sécurité à bien analyser dans tout celà :0)
Pas de base de données temporaires. Ça n'existe pas, sauf en interne dans les moteurs de base de données.
On ne créé et supprime pas des bases de données à la volée.
Le panier d'un utilisateur, c'est une table dans ta base de données permanente.
Ou bien, le panier de ton utilisateur c'est un objet en session (moins performante approche).
Par exemple tes tables pourraient être:
MonPanier(
IdUtilisateur
DateExpiration
ClefSecrete
IdProduit)
Produit(
Id
Nom
Description
etc...)
Enfin il y a un aspect sécurité à bien analyser dans tout celà :0)
En effet, dans le lien que tu as donné les produits sont en session:
function ajouterArticle($libelleProduit,$qteProduit,$prixProduit){
if (creationPanier())
{
$positionProduit = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
}
else
{
array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit);
array_push( $_SESSION['panier']['qteProduit'],$qteProduit);
array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
}
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function ajouterArticle($libelleProduit,$qteProduit,$prixProduit){
if (creationPanier())
{
$positionProduit = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
}
else
{
array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit);
array_push( $_SESSION['panier']['qteProduit'],$qteProduit);
array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
}
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
Personnellement, je te déconseille cette approche, à part pour mettre juste l'identifiant du produit et sa quantité. Mais rien de plus! Les sessions, c'est un espace de stockage pour 2-3 trucs, pas plus...car delà impacte les performances de chaque pages web.
a ok donc tu me conseille de rentrer de manière permanante sur ma base de donnée ce qu'a mis la personne dans sont panier même si el le valide pas car quelque fois l'on peut mettre des chose dans sont panier et ne pas les commander.
Ou alors de les mettre dans ma base de données et si l'utilisateur ne le valide pas avant un certain temps alors il est supprimé??
mais comment faire si l'utilisateur ne c'est pas encore identifier et qu'il ajoute des chose à son panier??
merci
Ou alors de les mettre dans ma base de données et si l'utilisateur ne le valide pas avant un certain temps alors il est supprimé??
mais comment faire si l'utilisateur ne c'est pas encore identifier et qu'il ajoute des chose à son panier??
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Exact, tu peux te constituer un panier de manière permanente, le valider, ou non.
Il te suffit de rajouter un champ dans ta table: panierValide (0 ou 1)
tant que ton booléen est à 0 tu peux modifier ton panier, une fois le panier validé c'est que le panier est transformé en commande.
tes utilisateurs pourraient ainsi constituer leurs paniers sans les perdre au bout de n minutes de session inactive.
plus tard, pour tous les paniers validés,et une fois les commandes livrées, il te suffira de lancer une requete de suppression DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
5 étant le status livré et payé.
pour les utilisateurs non authentifiés utilise l'id de session dans la table à la place de l'id de l'utilisateur, positionne l'id utilisateur une fois le membre authentifié.
un membre peut démarrer ainsi la création d'un panier en non connecté, puis se connecter:
a la connexion:
UPDATE MonPanier SET IdUtilisateur=155445 WHERE IdSession=session_id()
périodiquement:
DELETE FROM MonPanier WHERE IdUtilisateur IS NULL AND DIFF(DatePanier,NOW(),60min)
DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
c un exemple!
++
Il te suffit de rajouter un champ dans ta table: panierValide (0 ou 1)
tant que ton booléen est à 0 tu peux modifier ton panier, une fois le panier validé c'est que le panier est transformé en commande.
tes utilisateurs pourraient ainsi constituer leurs paniers sans les perdre au bout de n minutes de session inactive.
plus tard, pour tous les paniers validés,et une fois les commandes livrées, il te suffira de lancer une requete de suppression DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
5 étant le status livré et payé.
pour les utilisateurs non authentifiés utilise l'id de session dans la table à la place de l'id de l'utilisateur, positionne l'id utilisateur une fois le membre authentifié.
un membre peut démarrer ainsi la création d'un panier en non connecté, puis se connecter:
a la connexion:
UPDATE MonPanier SET IdUtilisateur=155445 WHERE IdSession=session_id()
périodiquement:
DELETE FROM MonPanier WHERE IdUtilisateur IS NULL AND DIFF(DatePanier,NOW(),60min)
DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
c un exemple!
++
Merci bien,
J'ai fait mon panier et donc j'ai deux petite question, la première que peut on faire en php pour dire:
si la requête arrive en GET prendre la variable sur le get sinon en POST, car j'ai fait un petit formulaire en hidden pour enrichir ma variable (elle me sert quand je mais à jour le panier) et la même variable mais en get pour supprimer des articles et cela ne me plaît pas trop mais je ne peut mettre deux formulaire imbriqué.
Donc avez- vous une idée???
Mais la n'est pas mon soucis, le gros soucis maintenant est command transféré mon panier vers un PANIER PAYPAL pour que les personne est un accès sécurisé pour le payement.
Merci.
J'ai fait mon panier et donc j'ai deux petite question, la première que peut on faire en php pour dire:
si la requête arrive en GET prendre la variable sur le get sinon en POST, car j'ai fait un petit formulaire en hidden pour enrichir ma variable (elle me sert quand je mais à jour le panier) et la même variable mais en get pour supprimer des articles et cela ne me plaît pas trop mais je ne peut mettre deux formulaire imbriqué.
Donc avez- vous une idée???
Mais la n'est pas mon soucis, le gros soucis maintenant est command transféré mon panier vers un PANIER PAYPAL pour que les personne est un accès sécurisé pour le payement.
Merci.