sessions et insertion dans la bd - PHP - Programmation
Marsh Posté le 08-12-2004 à 21:11:47
Pourquoi ne pas ajouter l'id de commande à la session tout simplement ?
Marsh Posté le 08-12-2004 à 22:07:20
be non, je peux pas l'idee de la commande s'incremente dans la bd, il n'existe pas avant
Marsh Posté le 08-12-2004 à 22:57:03
ben ton idée du contyrole me parait bonne, si la commande existe déjà (meme caractéristique), tu affiche au visiteur qu'une commande identique vient d'etre passée, et un bouton pour lui permettre de valider si effectivement il veut repasser la meme...
Marsh Posté le 08-12-2004 à 22:58:52
Oui mais non, une fois ta commande crée dans la db, qu'est ce qui t'empêche de récupérer l'id et de l'ajouter à la session ?
Puis quand tu enregistres la commande, il te suffit de vérifier si un id est présent dans les données de session.
Marsh Posté le 09-12-2004 à 02:22:59
non ca peut pas marcher
regarde
ma page a la fois insere la commande et affiche la validation de la commande
Code :
|
Code :
|
donc ce qu'il faut c'est que l'utilisateur en actualisant la page n'insere pas une nouvelle commande identique dans la db, par contre il peut revenir en arriere pour changer son mode de paiement ou meme ces articles , et la du coup, ca crera une nouvelle commande.
j'espere avoir été clair
merci
Marsh Posté le 09-12-2004 à 02:37:36
Là, c'est même pas un problème de php, c'est juste une question de logique
Schématiquement :
Code :
|
(et sépare la validation de l'affichage du message de validation)
Marsh Posté le 09-12-2004 à 02:44:53
oui en effet ... je dois etre torturé ... ca parait si simple maintenant !
merci a toi
Marsh Posté le 09-12-2004 à 15:05:55
oui mais probleme !
si je fais un
update commande value truc where id = $_SESSION['commande_id']
et que le client decide de mettre d'autres articles dans son caddie, l'update ne va ajouter ces articles dans la table commande.
comment dois je m'y prendre ... est ce que le mieux serais de supprimer ces articles dont le numero de commande est =ID puis les inserer de nouveau.
merci de votre aide
Marsh Posté le 09-12-2004 à 18:43:24
ou de flager les articles commandés déjà encodé d'une manière ou d'une autre (préférable à la suppression/insertion à mon avis).
Marsh Posté le 09-12-2004 à 20:24:14
flager, du verbe anglais "to flag" marquer, signaler. En clair, ajouter une variable à ta session qui indique si l'article a déjà été encodé. Le comment dépend de la manière dont tu gères tes commandes dans ta bd
Marsh Posté le 10-12-2004 à 11:35:43
à croire que notre ami attentio n'a jamais fait de CTF (capture the flag) à Quake...
Marsh Posté le 10-12-2004 à 11:44:31
au lieu de detruire la session, tu detruis simplement le caddie tout simplement.
Marsh Posté le 08-12-2004 à 20:11:29
bonsoir,
voila mon ptit soucis
en fait, C la derniere page d'un site de vente en ligne, elle appelle une fonction, qui elle, est chargée d'inserer dans la base de donne les coordonnees du clients et ses achats via les sessions, mais le soucis C que si le client actualise la page alors, il va inserer une nouvelle commande identique.
(je ne veux pas detruire la session apres cette fonction parce que l'utilisateur peut avoir envie de changer son mode de paiement).
alors j'avais pensé faire un truc du genre :
si une commande avec le meme nom, le meme nombre d'articles,et le meme prix existe dans la bd
alors ne rien faire
sinon inserer_commande
mais le client peut avoir envie de passer la meme commande
alors comment dois je m'y prendre, jouer avec les sessions toujours presentent,mon id de commande
merci de votre aide
Message édité par attentio le 24-03-2005 à 20:48:29
---------------
L'ordinateur a de la mémoire mais aucun souvenir ...