Ajout panier écrase le précédent [PHP] - PHP - Programmation
Marsh Posté le 13-06-2005 à 15:30:37
essaye :
$panier = array_push($panier,array(....));
Marsh Posté le 13-06-2005 à 15:34:57
Beaucoup plus rapide
Code :
|
PS : les fonctions session_is_registered, session_register ne sont plus utilisées depuis longtemps
Marsh Posté le 13-06-2005 à 15:35:37
Je viens de tester avec cette ligne de code :
Code :
|
Ca écrase toujours l'ancienne entrée et le panier n'indique qu'un élément.
Marsh Posté le 13-06-2005 à 15:42:09
Gasp! Ratibus, ca tourne avec ton code et c'est effectivement un peu plus simple. Je retourne de suite l'étudier histoire de piger les subtilités
Niveau syntaxe, je ne comprends pas le += de la ligne 7 par contre?
Marsh Posté le 13-06-2005 à 15:49:13
oki pour += : http://fr.php.net/manual/fr/langua [...] gnment.php
Ben me reste plus qu'à dire merci et à retourner me torturer l'esprit!
Donc merci à vs deux
Marsh Posté le 13-06-2005 à 15:50:21
Code :
|
C'est pareil que ça :
Code :
|
C'est plus simple à écrire
Liste des opérateurs : http://www.php.net/manual/en/language.operators.php
Marsh Posté le 13-06-2005 à 15:56:46
C'est là que je me dis que la route est encore longue, très longue...
Marsh Posté le 13-06-2005 à 16:54:03
bon en fait, ca ne fonctionne peut-être pas si bien que ça, ou je suis passé à côté d'un truc - ce qui est fort possible...
Maintenant, j'ai un array sous la forme
Code :
|
alors qu'avant j'avais un array sous la forme
Code :
|
Du coup je bloque pour faire une boucle qui parcourt le contenu de mon panier. Alors que dans m première version, certes je n'avais qu'un produit dans mon panier, mais je pouvais l'appeler en faisant un :
Code :
|
puis faire afficher l'id et la qtte respective de chaque article.
Je suppose qu'il y a une modification à faire ds l'ajout, mais je vois pas trop ou.
Sinon merci pour l'incrémentation des quantités, j'aurais jamais réussi à faire ca de facon si concise!
Marsh Posté le 13-06-2005 à 16:58:31
Code :
|
foreach( $tab as $cle => $valeur ) est tres pratique
Marsh Posté le 13-06-2005 à 17:10:12
Ouais effectivement!
En fait j'étais parti sur un for parce qu'au moins, cette fonction là, je pensais réussir à l'utiliser proprement. Finalement, c'était pas une bonne idée on dirait!
J'ai le cerveau en ébullition mais au moins j'ai le sentiment de progresser. Me vient des envies de siffloter des "1km à pied, ca use, ca use..."
Merci donc. Maintenant je vais m'atteler à la suppression et à la modif de qtté. Normalement, j'ai toutes les clés en main pour réussir maintenant
Marsh Posté le 13-06-2005 à 17:15:25
bonne continuation
regarde du cote de unset($_SESSION['panier']['id']) pour supprimer un element et du cote de -= pour en dimuner la quantité
Marsh Posté le 13-06-2005 à 17:37:40
Le unset, c'est de la bombe !!! Je m'étais engagé du côté d'un array-splice, je regrette pas de l'avoir abandonné!
Bon, plus de batterie et marre de l'odeur du graillon du Mac dal, alors je vais aller continuer ca @home. Vu le nombre de sujetsque j'ai vu sur les paniers, celui-ci devrait rendre service à pas mal de monde, du moins j'espère!
Marsh Posté le 13-06-2005 à 18:16:39
Onesque a écrit : Ouais effectivement! |
Pour la modif des quantités avec mon code c'est géré
Marsh Posté le 15-06-2005 à 15:19:43
Yep
Mais en fait pour le moment, je vais pas bosser sur les quantités, les produits proposés à la vente seraient uniques à chaque fois en fait Par contre, je tiens à me laisser la possibilité d'inclure des modifs de qtté par la suite.
Sinon à part ça, j'ai encore une ou deux questions qui me taraudent l'esprit:
Mon site dispose donc d'un catalogue, ds lequel les internautes peuvent choisir des articles et les inclure dans leur panier. Ensuite, ils peuvent, en se rendant sur la page panier.php, avoir un bilan de leur visite : liste des articles sélectionnés et prix global.
Là, ils peuvent choisir d'effectuer leur commande. Pour cela, il faut qu'ils sidentifient (via un login/mot de passe) ou qu'ils se créent un compte. Et est-ce qu'il ne rique pas d'y avoir des problèmes si je bosse sur deux types de session à la fois?
Je me demandais s'il valait mieux forcer l'authentification dès le début de l'utilisation du panier, ou attendre que le visiteur ait envie de valider une commande?
Seconde question : j'aimerais qu'une fois une commande validée, les articles correspondants ne soient plus visibles sur le site (éviter que plusieurs personnes commandent la même chose) mais qu'ils restent dans la base de données.
Avant de me lancer là-dedans, j'aimerais être sûr que ma façon de procéder est bonne. Je compte créer un champ ds la table qui contient les articles, avec deux valeurs possibles : "dispo" et "commandé". A la validation d'une commande, je crée une requête qui passe la valeur de dispo à commandé, et dans mon catalogue, je ne fais afficher que ceux qui ont la valeur dispo.
Ca me parait logique, mais j'aimerais qd meme en avoir confirmation avant de me lancer dans des opérations de codage fastidieuses
Merci
Marsh Posté le 15-06-2005 à 15:27:50
tu n'as qu'un seul tableua session
perso j'utilise
$_SESSION['panier'] qui est un array et qui contient le panier
$_SESSION['perso'] qui contient le login et ls infos qui vont avec
pour le champ dans la BDD ca me semble une bonne idée
Marsh Posté le 15-06-2005 à 15:47:47
oki, thanx.
Pour l'identification par contre, et la sécurité, il vaut mieux forcer l'uilisateur à s'identifier pour utiliser le panier ou attendre la validation d'une commande?
Marsh Posté le 15-06-2005 à 16:06:54
la c'est toi qui voit
il te suffit juste de faore un test pour voir si $_SESSION['perso'] existe avant de valider la commander
Marsh Posté le 15-06-2005 à 16:56:52
ok
je placerai l'identification juste avant la commande alors je pense, afin de pas décourager les internautes qui voudraient juste faire une estimation.
Marsh Posté le 13-06-2005 à 15:19:28
Bonjour,
c'est probablement pas grand chose, mais je cogite là-dessus depuis un moment et je parviens plus à y voir clair, donc je demande un peu d'aide
J'essaie de construire un panier virtuel pour un site de vente en ligne via les sessions.
Sur la fiche de chaque article, on a un lien "ajouter au panier", qui appelle la page ajout.php en passant l'id de l'article et la quantité par l'URL.
J'ai donc un lien du type "...ajout.php?id=xxxx&qtte=x"
Pas de problème pour récupérer ses variables et les inclure dans le panier. Le problème est que si je tente d'ajouter un second article, il écrase le premier.
Code de la page ajout.php :
Sur ma page panier.php (vers laquelle renvoie ajout.php), je fais afficher le nombre d'items contenu ds le panier : toujours égal à 1.
Si je fais un print_r sur le $panier, j'obtiens :
Voyez-vous svp ce qui pourrait déconner?