Panier en php

Fermé
rake-off Messages postés 200 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 10 décembre 2011 - 24 sept. 2009 à 08:15
rake-off Messages postés 200 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 10 décembre 2011 - 25 sept. 2009 à 07:46
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.

6 réponses

Utilisateur anonyme
24 sept. 2009 à 09:35
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)
0
Utilisateur anonyme
24 sept. 2009 à 09:38
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.";
}
0
Utilisateur anonyme
24 sept. 2009 à 09:40
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.
0
rake-off Messages postés 200 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 10 décembre 2011 1
24 sept. 2009 à 11:49
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 sept. 2009 à 13:31
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!

++
0
rake-off Messages postés 200 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 10 décembre 2011 1
25 sept. 2009 à 07:46
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.
0