Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASS PANIER CADDIE


Information sur la source

Catégorie :E-Commerce Classé sous : panier, caddie, classe Niveau : Initié Date de création : 14/02/2005 Date de mise à jour : 09/05/2006 10:10:21 Vu / téléchargé: 25 643 / 5 804

Note :
7,9 / 10 - par 10 personnes
7,90 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (148)
Ajouter un commentaire et/ou une note

Description

Petite classe, une de plus sur les caddies :
    - Gestion des articles
    - Des Frais de port
    - Des tarifs HT et TTC
 

Source

  • // Frais de port et livraison
  • function getLivraison()
  • function getTypeLivraison()
  • function ajoutPort($port, $typeport)
  • // Total Final TTC
  • function getTotalFinalTTC()
  • // Renvoie la quantite de l'article $numserie
  • function getQteArticle($numserie)
  • // Renvoie le prix de l'article $numserie
  • function getPrixArticle($numserie)
  • // Renvoie le montant HT de l'article $numserie
  • function getMontantArticle($numserie)
  • // Renvoie le montant TTC de l'article $numserie
  • function getMontantTTCArticle($numserie)
  • // Renvoie le montant TTC de l'article $numserie
  • function getMontantTVAArticle($numserie)
  • // Renvoie le nombre d'article contenus dans le Panier
  • function getNombreArticle()
  • // Renvoie le montant total HT
  • function getTotalHT()
  • // Renvoie le montant total TTC
  • function getTotalTTC()
  • // Renvoie le montant de la TVA
  • function getTotalTVA()
  • // Renvoie le montant de la TVA
  • function getTVA()
  • // Ajoute un article dans le Panier
  • function ajouterArticle($numserie, $quantite, $montantHT = 0)
  • // Supprime un article du Panier
  • function supprimerArticle($numserie)
  • // Met à jour la quantite d'un article sélectionné dans le Panier
  • function miseAJourQteArticle($numserie, $quantite)
  • // Calcule le montant Total HT et TTC du panier
  • function CalculTotal($prix)
  • // Calcule le montant Total HT et TTC par article
  • function CalculMontantArticle($numserie, $prix, $qte)
// Frais de port et livraison
function getLivraison()

function getTypeLivraison() 

function ajoutPort($port, $typeport)

// Total Final TTC
function getTotalFinalTTC()

// Renvoie la quantite de l'article $numserie
function getQteArticle($numserie)

// Renvoie le prix de l'article $numserie
function getPrixArticle($numserie) 

// Renvoie le montant HT de l'article $numserie
function getMontantArticle($numserie) 

// Renvoie le montant TTC de l'article $numserie
function getMontantTTCArticle($numserie) 

// Renvoie le montant TTC de l'article $numserie
function getMontantTVAArticle($numserie)

// Renvoie le nombre d'article contenus dans le Panier
function getNombreArticle()

// Renvoie le montant total HT
function getTotalHT() 

// Renvoie le montant total TTC
function getTotalTTC() 

// Renvoie le montant de la TVA
function getTotalTVA() 

// Renvoie le montant de la TVA
function getTVA() 

// Ajoute un article dans le Panier
function ajouterArticle($numserie, $quantite, $montantHT = 0)

// Supprime un article du Panier
function supprimerArticle($numserie) 

// Met à jour la quantite d'un article sélectionné dans le Panier
function miseAJourQteArticle($numserie, $quantite) 

// Calcule le montant Total HT et TTC du panier
function CalculTotal($prix) 

// Calcule le montant Total HT et TTC par article
function CalculMontantArticle($numserie, $prix, $qte)

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 février 2005 19:19:50 :
j
02 août 2005 16:07:10 :
Changement et suppression de fonctions qui gérait la TVA sur les frais de port (erreur réparée).
16 novembre 2005 17:06:27 :
Ajout d'1 exemple d'utilisation. Il faut simplement lancer le fichier liste_article.php Ceci n'est qu'un exemple rapidement codé, veuillez excuser les erreurs ou bugs et surtout la présentation. ^^
18 novembre 2005 10:59:22 :
Ajout de serialize et unserialize
09 mai 2006 10:10:22 :
Petite modification pour les erreurs lorsque l'on vidait le panier.

Commentaires et avis

signaler à un administrateur
Commentaire de fg85 le 14/02/2005 23:20:14

ça a l 'air de se tenir ...

--------------------------------
http://fg.logiciel.free.fr

signaler à un administrateur
Commentaire de harlock59 le 30/05/2005 09:50:31

j'imagine que dans la page ou sont les articles il faut mettre un include (panier.class.php), mais que doit on mettre sur le lien "ajouter au panier" d'un article?

signaler à un administrateur
Commentaire de Steph666 le 31/05/2005 15:21:38

Tu fais une page qui ne gère que la gestion des ajouts modifs suppression des articles et éventuellement le calcul des prix et frais de port en activant calculmontant, puis redirection vers la page appelante.
Ex de page 'jout_panier.php' :

include_once 'panier.class.php';

session_start();

if (!isset($_SESSION['panier'])) {
session_register("panier");
$_SESSION['panier'] = new Panier();
}


$numserie    = isset($_REQUEST["numserie"]) ? $_REQUEST["numserie"] : "";
$qte         = isset($_REQUEST["qte"])      ? $_REQUEST["qte"]      : 0;
$origine     = isset($_REQUEST["origine"])  ? $_REQUEST["origine"]  : "";
$prix        = isset($_REQUEST["prix"])     ? $_REQUEST["prix"]     : 0;

if (!Empty($numserie) && $qte > 0) {
if ($prix > 0) {
$_SESSION['panier']->calculmontant = true;
$_SESSION['panier']->ajouterArticle($numserie, $qte, $prix);
} else $_SESSION['panier']->ajouterArticle($numserie, $qte);
if ($origine) {
Header("Location: $origine&ajout=oui");
exit;
}
}

Et lors de l'appel tu fais :
                ajout_panier.php?numserie=$numserie&qte=$qte&prix=$prix&origine=$origine

Ceci n'est qu'un exemple.

signaler à un administrateur
Commentaire de peterklm le 26/07/2005 00:46:34

Salut,
je trouve tes fonctions sont très bien faites, mais malheureusement tu developpes pas suffisamment le concept d'utilisation pour les débutant et et meme pour un bon amateur confirmé . Moi perso j'appreci ta façon de synthétiser tout ça , mais ça fait une semaine entière que je galère la dessus, je n'arrive meme pas à afficher quelque chose. j'ai plutôt des erreurs que du resultat genre :
Warning: 'unserialize_callback_func' defined (1) but not found in d:\easyphp\www\gestion_achat\achat.php on line 2.
une explication de plus serait bienvenue, suivant ton emploi du temps bien sûr.

signaler à un administrateur
Commentaire de Steph666 le 26/07/2005 10:03:31

Salut,

Partout où tu utilises la classe que ce soit session ou non, il faut faire un include de la classe, il semble peut-être que ce soit une référence à un objet non défini.
Mais si tu postais un bout de code se serait plus simple à voir que sorti de son contexte.

signaler à un administrateur
Commentaire de landrer le 16/09/2005 11:23:16

Salut,

Moi j'ai regarder ce code et je trouve que c'est tres clair , tres simple,
c'est assez bien gerer je trouve dans l'ensemble.
Sauf Que... le calcul du montant renvoie des resultat incohérents du à une
erreur de logique d'incrémentation .
// Calcule le montant Total HT et TTC du panier
function CalculTotal($prix) {
$this->totalHT  += $prix;
$this->totalTTC += $prix * (1 + ($this->TVA / 100));
}
il faut modifier l'appel de la  fonction CalculTotal() dans la fonction ajouterarticle() comme ceci

// Ajoute un article dans le Panier
function ajouterArticle($numserie, $quantite, $montantHT = 0) {
if (!empty($numserie)) {
if ($this->article[$numserie]) $this->article[$numserie]['qte'] += $quantite;
else {
$this->article[$numserie]['qte'] = $quantite;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
$this->CalculTotal(($this->article[$numserie]['prix']*$quantite));
}
}
}



signaler à un administrateur
Commentaire de khemi le 08/10/2005 20:13:15

Bonjour, j'aurais une question. Tu fais comment pour afficher ce qui se trouve dans le panier?
Je m'explique tu as mis 3 article dans le panier et tu voudrais tous les afficher ?
J'ai vu que tu peux sortir les données en fonction de leur numéro de série mais si tu ne le connais pas, tu fais comment ?

Sinon très bien fait cette classe ! Merci de l'avoir publié

signaler à un administrateur
Commentaire de Steph666 le 09/10/2005 15:57:06

Salut tu peux faire une boucle foreach ($tableau as $cle => $valeur) {}
avec $cle étant l'index et $valeur sa valeur.

signaler à un administrateur
Commentaire de objectifweb le 15/11/2005 13:39:47

Bonjour Steph666
Sans avoir l'habitude de travailler avec des classes (mea culpa) et cela aidera certainement d'autres qui n'osent pas abuser, tu as quelques lignes de codes permettant de relire le pannier en affichant le numéro de série et la quantité, on arrivera bien selon cela à afficher le prix etc...?

En te remerciant de ta patience envers des ignares ;)
Patrick

signaler à un administrateur
Commentaire de Steph666 le 16/11/2005 17:08:12

Je viens de rajouter un exemple assez basique permettant d'utiliser la classe.
J'espère que ce sera compréhensif.
Sinon n'hésitez pas à poser des questions et/ou poster des commentaires ^^.

Stéph.

signaler à un administrateur
Commentaire de objectifweb le 16/11/2005 18:15:23

Merci steph666, je vais jeter un oeil mais cela me semble beaucoup plus clair ;)

signaler à un administrateur
Commentaire de FhX le 17/11/2005 18:25:04

$_SESSION['panier'] = new Panier();

Ah ?!
J'imagine pas la tête du serveur quand il doit faire mumuse avec la session avec un objet à l'intérieur :)

Nonon, c'est pas du tout comme ca qu'il faut faire !

<?php // Pour créer un panier et l'enregistrer en session
$var = new Panier();
// Prog
$_SESSION['panier'] = serialize($var);
?>
<?php // Pour récupérer un panier existant en session
if ( isset($_SESSION['panier']) ) {
     $var = unserialize($_SESSION['panier']);
}
?>
<?php //Pour coupler les deux !
$var = ( isset($_SESSION['panier']) ) ? unserialize($_SESSION['panier'] : new Panier;

// Programme
$_SESSION['panier'] = serialize($var);
?>
On ne fait jamais traverser un objet en session comme ca :)

signaler à un administrateur
Commentaire de Steph666 le 18/11/2005 10:09:54

Ok J'en prends note, je change ça dès que possible.

Stéph.

signaler à un administrateur
Commentaire de TrasherDemon le 25/11/2005 11:07:34

Salut,

Efficace ce code rien à redire ;-)

Deux petites remarques néanmoins, concernant les fichiers exemples :
1) php semble ne pas aimer la sérialisation d'objets null (cas getNombreArticle() <= 0)
dans le fichier consultation_panier.php, j'ai remplacé
$_SESSION["panier"] = serialize($page->panier);
par
if(isset($_SESSION['panier'])) $_SESSION["panier"] = serialize($page->panier);
et j'ai ajouté
unset($_SESSION["panier"]);
dans la condition if ($page->panier->getNombreArticle() <= 0)
2) selon la doc de php, il n'est pas recommandé d'utiliser session_register avec $_SESSSION (cf http://fr2.php.net/manual/fr/function.session-register.php).

Le premier point peut causer un bug (dans mon cas l'impossibilité d'ajouter un article au panier après avoir vidé ce dernier), la seconde ne pose visiblement pas de problème majeur.

Bon travail Steph666 :-)

signaler à un administrateur
Commentaire de FhX le 25/11/2005 14:29:25

"php semble ne pas aimer la sérialisation d'objets null (cas getNombreArticle() <= 0)" Un objet null ? Ca veut dire quelque chose ca ?! lol

Une variable est soit de type objet, soit de type null. Certainement pas les 2 en même temps :) C'est comme si je te disais qu'une chaine est de type double.

signaler à un administrateur
Commentaire de TrasherDemon le 25/11/2005 14:50:53

Je me suis effectivement mal exprimé :-)
C'est la valeur de l'objet qui vaut null

Dans le cas où le nombre d'articles est <=0 ; le code suivant est exécuté $page->panier = null; (d'où "l'objet null"...), cet objet est ensuité sérialisé... Lors de l'appel à unserialize, ce n'est pas un objet correct qui ressort de tout ca.

J'espère m'être mieux exprimé cette fois...

signaler à un administrateur
Commentaire de FhX le 25/11/2005 16:13:33

Voui, mais tu as faux :)
Un attribut de classe peut être déclaré de type null et etre ensuite sérialisé.

$this->panier = null;
A la sérialisation, tu obtiens une chaine type :
a:1{s:9:NULL}.
a:1 représentant l'objet en cours.
s:9 représentant $this->panier. (peut être une autre pair de lettre/chiffre)
NULL sa valeur :)

Et ca marche pourtant très bien, vu que je l'utilise moi même.
Attention, un objet n'a pas de valeur propre !!! Ce sont ses attributs de classes qui le peuvent !

Lorsque tu unserialises la chaine pour la reconvertir en objet, ca marche très bien. Encore faut-il ne pas avoir oublier d'avoir inclu le fichier de classe au risque de se retrouver avec une classe de type stdClass. Autrement dit une classe vide :o

signaler à un administrateur
Commentaire de TrasherDemon le 25/11/2005 17:50:57

Je comprends (our je pense comprendre) ce que tu dis FHX...

Néanmoins, lorsque j'utilise la classe exemple telle quelle, la valeur enregistrée pour l'objet panier n'est pas du type a:1{s:9:NULL}. Lorsque je fait un print_r($_SESSION), j'obtiens [panier] => N;
Je n'arrive pas à comprendre ce qu'est ce N
Merci beaucoup pour tes explication en tous cas :)

signaler à un administrateur
Commentaire de lOeil le 08/01/2006 18:48:04

Merci pour ce code.
Cependant j'obtient une erreur des que j'ouvre liste_article.php
-> Fatal error: Call to a member function on a non-object in c:\program files\programmation\easyphp1-8\easyphp1-8\www\panier\liste_article.php on line 126

Quelqu'un pourrait m'aider s'il vous plait ? =)

signaler à un administrateur
Commentaire de Steph666 le 08/01/2006 22:08:35

Salut,
Je n'ai pas la version 1.8 d'easyPhp, je vais bientôt l'installer ^^.
Je crois que cette version utilise php5, et la classe en question ne doit pas être adaptée pour.
Quand j'aurais le temps, où si quelqu'un en a le courage, je l'adapterais.

Stéph.

signaler à un administrateur
Commentaire de FhX le 09/01/2006 00:36:01

print_r() et serialize() sont deux fonctions différentes :)

signaler à un administrateur
Commentaire de NeOtEcK le 13/01/2006 11:39:27

petite question, je tente depuis 2 jours d'adapter ce code à ma base mysql

en effet j'ai une table 'produit', et j'aimerais pouvoir enregistrer mon panier dans une table CA (chiffre d'affaire) mais le seul probleme c'est que lors de l'enregistrement il faudrait que chaque produit soit enregistré séparément, quelqu'un pourrait-il m'aider ?

Merci d'avance

signaler à un administrateur
Commentaire de lelapinou_69 le 13/02/2006 18:29:42

Hello NeOtEcK. J'essaie moi aussi de mettre ce script en liaison avec une BDD Mysql. Mais par contre, lorsque j'introduit le code de connexion, la page générée par php est vide. Il n'y a meme pas de source quand je fais l'affichage des sources via le browser.
Aurais tu une idée.

signaler à un administrateur
Commentaire de Steph666 le 14/02/2006 10:01:18

Bonjour,

Pour y voir un peu plus clair, si vous pouviez mettre un bout de code ou détailler un peu plus vos problèmes, je pourrais y jeter un coup d'oeil à l'occasion.

Stéph.

signaler à un administrateur
Commentaire de lelapinou_69 le 14/02/2006 12:54:17

Mille merci, mais je débugg ligne par ligne, et je trouve petit à petit d'où vient mon soucis. Par contre c'est pas une mince affaire que de l'intégrer à la gestion d'une BDD. un coup ça marche, un coup ça marche plus, argh, je m'arrache le peu de cheveux qu'il me reste...

signaler à un administrateur
Commentaire de Steph666 le 15/02/2006 13:11:20

Salut,
Hésitez pas à poster les bugs trouvés, ça servira à tout le monde.
Quant au ça marche et ça marche pas, j'aimerais plus d'explications, parce que là tu m'inquiètes ^^.

L'exemple d'utilisation de la classe filé avec, est très sommaire par rapport à l'utilisation de la classe elle même. Il ne faut pas le prendre tel quel et le réutiliser, il est juste là pour illustrer l'utilisation partielle de la classe. C'était pour répondre à une attente de certaines personnes, et non pour reproduire un système de gestion de panier complet.

La classe en elle-même me semble assez complète pour permettre un système de gestion plus poussé.
Normalement ça pose aucun problème pour ce qui est de l'insertion, je m'en sers et je n'ai pas eu de soucis particulier.

Stéph.

signaler à un administrateur
Commentaire de stouph24 le 23/02/2006 01:34:54

salut et félicitations pour ces sources.
formé à java le commence l'objet en php
j'attaque un site de vente en ligne en relation avec une base mysql et un paiement final par paypal.
j'espere profiter de vos lumieres et vous faire partager mon code :
création d'une classe article, génération dynamique des objets articles etc...

une première question : pourquoi dans ajout_panier.php tu récupères les les variables  $numserie etc... dans $_REQUEST[] plutôt que dans $_POST[] ?

stouph

signaler à un administrateur
Commentaire de Steph666 le 23/02/2006 09:25:58

Salut et merci,

Dans le cas que tu précises il aurait d'ailleurs fallu mettre $_GET étant donnée que les variables sont récupérées d'un lien.

Stéph

signaler à un administrateur
Commentaire de lelapinou_69 le 23/02/2006 13:44:13

Hello steph. voilà j'avais écris plus haut que "parfois cela marchait et que parfois cela ne marchait pas". il se trouve que j'essaie d'inclure une donnée dans le tablea 'ARTICLE', c'est la désignation. Alors vous allez certainement me prendre pour un gros nul, mais ce n'est pas grave, je profite du forum pour poser ma question; donc quand j'ajoute la désignation, que j'appelle '$ref' mon lien ajout du panier est ainsi : ajout_panier.php?numserie='.$row['id_art'].'&ref='.$row['des_art'].'&qte=1&prix='.$row['prix_art'].'&origine....;
à savoir que dans $row['des_art'] il y a une chaine de caractère, avec des espaces, cela semble poser poblème sur mon lien, il ne s'éxécute pas, et du coup lorsque je clique, cela revient sur une page blanche.
La je bute sérieusement. C'est possible que je me sois tellement acharné que je ne vois pas l'évidence, mais, j'ai besoin d'un coup de main.
Merci beaucoup.
Merci aussi pour le script.

Je tiens à préciser que c pour ma formation personnelle que je fais ça et non pour un client. Je le dis car ça sèche sec sur le forum des fois.
Cordialement.

signaler à un administrateur
Commentaire de lelapinou_69 le 23/02/2006 14:13:46

Merci à tous ceux qui ont bien rit avec mon message. Je ris encore. je disais bien qu'à force d'acharbement, je ne voyais pas l'évidence, et c'est ce qui se passait. il se trouve que la chaine de caractère dans $row['des_art'] était tout simplement celle ci : Ecran TFT 15" YAMADA. voilà, je vous laisse rire, et ce sera normal (pour les autres qui ne voient pas ce que c'est, et il va y en avoir des comme moi) c'est la double-cote, argh argh.
Merci à tous, et à bientot pour d'autre aventures.

signaler à un administrateur
Commentaire de merci51 le 27/02/2006 11:36:32

bonjour et merci et bravo

je suis débutant depuis longtemps en php et une class caddie clair c'est bien !!!

Mais j'ai juste mis l'exemple en local

la page 'liste_article.php' s'affiche parfaitement

et quand j'ajoute un article , HOP:

[code]
Notice: Undefined index: Reference2 in c:\easyphp1-8\www\panier\panier.class.php on line 146

Notice: Undefined index: montantHT in c:\easyphp1-8\www\panier\panier.class.php on line 191

Notice: Undefined index: montantTTC in c:\easyphp1-8\www\panier\panier.class.php on line 192

Warning: Cannot modify header information - headers already sent by (output started at c:\easyphp1-8\www\panier\panier.class.php:146) in c:\easyphp1-8\www\panier\ajout_panier.php on line 51
[/code]

alors j'ai un peu honte mais ....
pourquoi?

Merci

signaler à un administrateur
Commentaire de Steph666 le 27/02/2006 15:30:24

Bonjour,

Je pense qu'il faut rajouter un 'isset' sur l'existence de la variable à la ligne 146, pour qu'il n'y ait plus d'erreur. Je mettrais ça à jour le plus rapidement possible dès que j'en aurais l'occasion.

En attendant, essaye de remplacer à la ligne 146 :

ça :
   if ($this->article[$numserie]) $this->article[$numserie]['qte'] += $quantite;

par ça :
   if (isset($this->article[$numserie])) $this->article[$numserie]['qte'] += $quantite;

et dis moi si c bon.

Stéph.

signaler à un administrateur
Commentaire de merci51 le 27/02/2006 21:51:43

Le probleme viens du faite, et je ne suis pas le seul je crois, c'est que je fesait tourner le script en local sous easyphp 1-8 .

pour le remplacement de la ligne 146 , ta solution fonctionne (en local) , car sur un serveur j'ai aucune erreur , le script tourne TRES BIEN !!!!

En local , je suis aussi tombé sur la même erreur que  "l0eil":
"-> Fatal error: Call to a member function on a non-object in c:\program files\programmation\easyphp1-8\easyphp1-8\www\panier\liste_article.php on line 126 "


Voilà ....
Merci à toi, j'essayerais de faire bon usage de ton script.
mais il me reste encore bien du travail sur les class ...

signaler à un administrateur
Commentaire de merci51 le 08/03/2006 11:20:31

Bonjour c'est encore moi ...

Aprés quelques tentatives je bloque maintenant sur un nouveau probleme.

J'ai connecter la page liste article sur une base , ça marche

mais en faite quand je clic sur avouter un article

j'ai un affreux message :"
Fatal error: Call to undefined function: ajouterarticle() in c:\easyphp1-8\www\xxxxx\teamwear\ajout_panier.php on line 45
"

J'ai pas touché la page "ajout_panier.php" ce qui me rend du coup des plus perplexe??..!!!!

Alors la je planche je galere je rale je cherche et maintenant j'appel "A L'AIDE"

Si quelqu'un à une idée....
Merci

signaler à un administrateur
Commentaire de merci51 le 08/03/2006 14:38:07

suite...  ;)
Je me fais les questions et les reponses    

c'est encore sous easyphp1-8 qu'il y a des erreurs

Mais sur mon serveur , CA MARCHE !!!!

par contre quand on supprime tout les articles du panier
LA c'est le drame

concretement la page "ajout_panier.php" reste blanche

et il ne se passe plus rien ...

Si je suis penible il faut le dire :)

à bientôt

je cherche encore .... mais moi et les class c'est du sport


signaler à un administrateur
Commentaire de lelapinou_69 le 08/03/2006 17:44:16

pour résoudre ton dernier POST. il y a un bout de code qui test si tu as des articles dans le panier. Trouve ce bout de code, et insère dessus un lien hypertext sur la page liste_article.php. Je bosse avec le même script, et j'ai rencontré quelques soucis semblables. Mis celui ci n'est pas grand chose.
Sinon vérifie bien le paramètrage de ton fichier php.ini qui se trouve dans Easyphp\Apache, car j'utilise aussi Easyphp et je n'ai eu aucun soucis en local.
Mets bien ta variable de déclaration des globales à 'On' et change le paramètrage de l'affichage de tes erreurs, car en local, tu as généralement des warnings, que tu n'as pas sur les servers webs.
Voilà, en espèrant avoir contribué.
Merci au créateur du script, ça nous aide beaucoup pour se lancer.

signaler à un administrateur
Commentaire de merci51 le 08/03/2006 20:59:29

Merci

C'est de ce code dont tu parles ?
(page consultation_panier.php)

if ($page->panier->getNombreArticle() <= 0) {
$page->panier->destroy();
$page->panier = null;
}

Si oui ... tu pourrais etre plus clair

faire un Header("Location:liste_article.php.");  ??

Merci

signaler à un administrateur
Commentaire de merci51 le 08/03/2006 21:12:08

RE ... lelapinou_69, je me permet une question ...

J'ai lu (plus haut) que tu passais les designation de l'article au panier ; j'y songe aussi pour eviter un autre appel a la base et je me demandais si il fallait faire des changements à : panier.class.php, en faite je rame sur les class...

je tatonne.

tu pourrais me mettre sur une piste, merci

signaler à un administrateur
Commentaire de lelapinou_69 le 08/03/2006 23:41:42

La marche à suivre et simple. Lorsque tu cliques sur le lien pour ajouter un article, il y a des variables que tu envoie, au fichier ajout_article.php, hé bien là dessus tu dois ajouter une nouvelle variable :
voici comment je fais :
- Fichier liste_article (lien pour ajouter) : ajut de la variable $reference
###########################################################################################
<a href="ajout_panier.php?numserie='.$row['id_art'].'&reference='.$row['des_art'].'&qte=1&prix='.$row['prix_art'].'&origine=liste_article.php?" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'Image29\',\'\',\'images/acheter_b.gif\',1)"><img src="images/acheter.gif" name="Image29" width="75" height="24" hspace="5" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'Image30\',\'\',\'images/detail_b.gif\',1)"><img src="images/detail.gif" name="Image30" width="75" height="24" border="0"></a>
###########################################################################################

- fichier ajout_article :
###########################################################################################
/*************************************************************************************************
**                               affectations variables                                         **
*************************************************************************************************/
$numserie = isset($_REQUEST["numserie"]) ? $_REQUEST["numserie"] : "";
$ref   = isset($_REQUEST["reference"])? $_REQUEST["reference"]: "";
$qte      = isset($_REQUEST["qte"])      ? $_REQUEST["qte"]      : 0;
$origine  = isset($_REQUEST["origine"])  ? $_REQUEST["origine"]  : "";
$prix     = isset($_REQUEST["prix"])     ? $_REQUEST["prix"]     : 0;


/*************************************************************************************************
**                                  programme principal                                         **
*************************************************************************************************/

if (!Empty($numserie) && $qte > 0) {
if ($prix > 0) {
$var->calculmontant = true;
$var->ajouterArticle($numserie, $ref, $qte, $prix);
} else $var->ajouterArticle($numserie, $qte);

$_SESSION["panier"] = serialize($var);
}
###########################################################################################

-fichier class_panier
###########################################################################################
// Ajoute un article dans le Panier
function ajouterArticle($numserie, $ref, $quantite, $montantHT = 0) {
if (!empty($numserie)) {
if ($this->article[$numserie])
{
$this->article[$numserie]['qte'] += $quantite;
$this->article[$numserie]['reference'] = $ref;
}
else
{
$this->article[$numserie]['qte'] = $quantite;
$this->article[$numserie]['reference'] = $ref;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
$this->CalculTotal(($this->article[$numserie]['prix']*$quantite));
}
}
}

// Renvoie la référence de l'article $numserie (fonction à créer, enfin c une méthode)
function getRefArticle($numserie) {
if (isset($this->article[$numserie]['reference'])) return ($this->article[$numserie]['reference']);
else return 'inconnu';
}
###########################################################################################

- fichier consultation_panier :
###########################################################################################
//pour l'affichage de la référence
<td align="left">'.$page->panier->getRefArticle($numserie).'</td>
###########################################################################################

voilà, j'espère que cela peut t'aider.
tu peux voir ce que cela donne sur www.carbo-cleaner.com, le site est encore en travaux, alors pardonne les éventuelles erreurs.

signaler à un administrateur
Commentaire de merci51 le 09/03/2006 00:08:53

Merci beaucoup

j'y etais presque...

Mais je prend note

par contre j'ai visité ton site et j'ai un bug sur le menu

"On Mouse Out" les rubriques disapaissent et le cadre centrale deviens blanc.

teste sous IE

Voila sinon c'est bien

Par contre comment tu vas faire le multilang

moi je fais deja en français anglais et c'est pas simple
prenant en compte € et $
les tarifs en $ sont HT

ce qui entraine des mmigraines ....

Merci encore

signaler à un administrateur
Commentaire de lelapinou_69 le 09/03/2006 00:20:00

j'ai vu que sous IE cela disparait, et je ne sais pas pourquoi. aucune idée là dessus?? pour l'instant je fais tout sur firefox, je verrais ensuite.
Pour le multilang pas encore réfléchis, je me suis déjà bien cassé la tête avec ce que j'ai fais. Mais j'ai le temps là alors je me penche pour le moment pour la réalisation complète de la commande.
Bye

signaler à un administrateur
Commentaire de ginyy le 21/03/2006 00:48:01

Bonjour,

Merci pour le prog vraiment super bien fait. Cela dit, je rencontre certain bug sur le fichier liste_article:

Fatal error: Call to a member function on a non-object in /homepages/43/d146767742/htdocs/indeco/web/Pages_Front/Panier/liste_article.php on line 83

Voici la partie concernée:
if (isset($_SESSION['panier'])) {
$page->panier = unserialize($_SESSION['panier']);

if ($page->panier->getNombreArticle() > 0) {
$out .= '
<br /><br />
<center><a href="consultation_panier.php">Voir mon Panier</a></center>';
}  
}

J'espère que vous pourrez m'aider à debugger ça. Merci.

signaler à un administrateur
Commentaire de ginyy le 21/03/2006 02:33:12

C'est encore me ;)

J'ai essayé de vider le cache et c'est bon c'est reparti...
Maintenant j'ai un autre problème. C'est quand je veux transformer mon panier 'user' en panier 'membres'. Je fais une page consultation2_panier ou j'insere ma session utilisateur. Et la je me retrouve avec:
Fatal error: Call to undefined function: affichages() in /homepages/43/d146767742/htdocs/indeco/web/Pages_Front/Panier/consultation2_panier.php on line 50

Le code:
if ($page->maj) maj($page);

$contenu .= Affichages($page);

Le debut de mon fichier:
session_start();

if (isset($_SESSION['logged']) && $_SESSION['logged'] == true)
{      
   echo 'Bonjour<b>'.$_SESSION['nom_particulier'].',</b> [ <a href="../Particuliers/deconnexion.php">Se déconnecter</a> ]<br />';
....
Fin du prog
}
else{echo 'vous devez etre connecté..';
}

J'ai l'impression qu'il aime pas les doubles sessions. D'ailleurs peut-on utiliser une même session_start() pour le panier et les membres?

Merci de votre aide :)

signaler à un administrateur
Commentaire de lelapinou_69 le 21/03/2006 09:19:14

j'ai eu ce soucis également. Et je ne sais pas pourquoi. Mais d'après un admin de chez mon hébergeur, cela dépend de la position de ta ligne session_start(), c'est bidon, mais toutes mes 'session_start()' je les ai mis en première ligne de code, et après plus de soucis. Je sais c'est bidon, mais cela a régler mon problème.

signaler à un administrateur
Commentaire de peterklm le 21/03/2006 10:09:40

Salut,
l'exemple donné plus haut suscite bien mmon attention, On m'a tjrs dit qu'il faut serializer la session pour rendre le code soit plus leger ou plus efficace...(je ne sais pas trop à quoi ça sert la serialization). De plus dans l'exemple ci dessus je vois que le programmeur a serializé la session panier et à aucun moment il n'a utilisé la fonction unserialize qui marche en parallele à serialisz.

Mon appel ici est pour savoir à quoi ça sert exactement la serialization.
Quand faut il le faire.

merci pour une reponse.

signaler à un administrateur
Commentaire de FhX le 21/03/2006 13:26:07

Juste comme ca :)

Toutes données envoyées en session est automatiquement serialisé/déserialisé via le moteur interne de PHP.
Utiliser serialize() et unserialize() pour des variables en session ne sert que pour être vraiment sur.

La sérialization permet de transformer une tableau ou un objet ou n'importe quoi en une chaine exploitable et qui puisse être passé en paramètre d'URL ou autre facilement.

signaler à un administrateur
Commentaire de peterklm le 21/03/2006 15:21:27

slt,
oui, je comprends un peu mieux maintenat, mais je suis entrain de mettre en fonction cette class panier, sans pour autant utiliseer la fonction serialize(), et ma foie ça marche nickel en local pour l'instant.
dois je avoir recours à la serialisation ou je laisse comme ça. quel est l'enjeu de mon code.

merci

signaler à un administrateur
Commentaire de corsonr le 05/04/2006 12:52:13

hello, je trouve code tres bien et bravo a l'auteur. J'ai une petite question: lorsque l'on ajoute un produit dans la panier (consultation_panier.php) seule la référence du produit est listée, et je souhaiterais récupérer le nom exact du produit sélectionné (depuis ma base)... je passe donc la variable dans le lien <a href="ajout_panier.php?numserie='.$row['id_art'].'&reference='.$row['des_art'].'&qte=1&prix... et je rajoute le bout de code suivant dans ajout_article.php:

$nom = isset($_REQUEST["nom"])  ? $_REQUEST["nom"]  : "";

dans le fichier de classe (panier.class.php) je rajoute une fonction:
// Renvoie le nom de l'article $numserie
function getNomArticle($numserie) {
return ($this->article[$numserie]['nom']);
}

et dans consultation_panier.php pour afficher la valeur je mets:
'.$page->panier->getNomArticle($numserie).' dans la variable $out...

et bien entendu ca ne fonctionne pas....

quelqu'un saurait-il me donner un coup de pouce pour en fait passer une variable (nom) supplémentaire dans le lien ajouter pour la récupérer et l'afficher dans le panier ?

merci par avance



signaler à un administrateur
Commentaire de corsonr le 05/04/2006 14:36:41

hello, bon alors j'ai trouvé la solution: INFO pour ceux qui veulent d'autres parametres dans le panier:

Pour ajouter le nom du produit:

-> dans panier.class.php
-------------------------------------------------------------------------------------------

modifier la fonction suivante:
// Ajoute un article dans le Panier
function ajouterArticle($numserie, $quantite, $montantHT = 0, $nom) {
if (!empty($numserie)) {
if ($this->article[$numserie]) $this->article[$numserie]['qte'] += $quantite;
else {
$this->article[$numserie]['qte'] = $quantite;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
$this->CalculTotal($this->article[$numserie]['montantHT']);
}
}
$this->article[$numserie]['nom'] = $nom; // CODE A RAJOUTER
}

et créer la fonction d'appel du nom:
// Renvoie le nom de l'article $numserie
function getNomArticle($numserie) {
return ($this->article[$numserie]['nom']);
}

-> dans ajout_panier.php
-------------------------------------------------------------------------------------------

rajouter dans l'affectation des variables la ligne:
$nom      = isset($_REQUEST["nom"])      ? $_REQUEST["nom"]      : "";

et rajouter la variable $nom lors de l'appel de la fonction dans le programme principal

if (!Empty($numserie) && $qte > 0) {
if ($prix > 0) {
$var->calculmontant = true;
$var->ajouterArticle($numserie, $qte, $prix, $nom); // LA VARIABLE EST RAJOUTEE ICI
} else $var->ajouterArticle($numserie, $qte);

$_SESSION["panier"] = serialize($var);
}
if ($origine) {
Header("Location: $origine");
exit;
}

-> dans liste_article.php
-------------------------------------------------------------------------------------------
rajouter dans le lien d'insertion le code suivant
&nom='.$r1["nom"].'

et voila !

signaler à un administrateur
Commentaire de cacim7 le 10/04/2006 14:27:49

au secours jai ce message la lorsque je supprime tou ce que jai dans le panier:
Fatal error: Call to undefined function: ajouterarticle() in c:\program files\easyphp1-8\www\telephone\ajout_panier.php on line 45

signaler à un administrateur
Commentaire de corsonr le 13/04/2006 10:55:49

Hello, le script fonctionne tres bien en local mais sur mon hébergeur j'ai au moment de recalculer le prix global ce message d'erreur:

Parse error: parse error, unexpected T_VARIABLE in /var/www/vhosts/backup/reseler12/www.monsite.com/htdocs/cgi-bin/php-cgi on line 3646

étonnant non ? quelqu'un aurait-il eu ce pb ? je pense que cela vient soit de serialize() soit de $_REQUEST
merci de me donner un coup de main si connaissez la solution !

signaler à un administrateur
Commentaire de cacim7 le 13/04/2006 16:30:01

salu CORSONR jai une question;

comment tu fait pour récupérer le total et le mettre dans une table mysql?merci

signaler à un administrateur
Commentaire de Spheerys le 14/04/2006 13:58:48

============================
au secours jai ce message la lorsque je supprime tou ce que jai dans le panier:
Fatal error: Call to undefined function: ajouterarticle() in c:\program files\easyphp1-8\www\telephone\ajout_panier.php on line 45
============================

J'ai le même problème que toi corsonr, mais lorsque j'ajoute un article au panier... je n'arrive décidément pas à m'en dépatouiller :(

signaler à un administrateur
Commentaire de SAaD44 le 07/05/2006 03:27:29

Bonsoir et félicitation pour ce code.
Tout de fois je garde ma note en réserve car j'ai un problème (pour changer un peu ...).
Voila, je peux ajouter des articles dans le panier, je peux en supprimer, je peux en modifier la quantité, bref je peux tout faire mais... une seule fois!

C'est-à-dire que si je remplis, puis je vide le panier et enfin que je tente de le reremplir, j'obtiens une page blanche.
J'ai pu trouver où le code bloqué dans la page "ajout_article.php" grâce à des "echo".
C'est ici :
$var->calculmontant = true;
$var->ajouterArticle($numserie, $qte, $prix);


En espérant que l'on puisse me venir en aide, car ça va vraiment m'aider pour mon site si il y a un panier de dispo.

Bye

signaler à un administrateur
Commentaire de Steph666 le 09/05/2006 18:49:09

Petite modif,
pour éviter le bug lors du vidage du panier.

Stéph.

signaler à un administrateur
Commentaire de phildart2000 le 06/06/2006 01:46:05

Salut,

Merci pour ce script, mais... moi ça marche presque nickel :(

En effet, lorsque je suis dans la page liste_article.php et que je clique sur ajouter
au panier ça marche. Mais si je clique sur un autre ajouter au panier il m'affiche un message d erreur.

Mais l'article est bien rajouter au panier...


----------------Voici le messsage d'erreur----------------------


Notice: Undefined index: Reference4 in c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\panier.class.php on line 146

Notice: Undefined index: montantHT in c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\panier.class.php on line 198

Notice: Undefined index: montantTTC in c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\panier.class.php on line 199

Notice: Undefined variable: nom in c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\panier.class.php on line 158

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\panier.class.php:146) in c:\program files\easyphp1-8\www\source\phpcs_source_29499\panier\ajout_panier.php on line 56

---------------------------------------------------
---------------------------------------------------


Est ce que tu pourrais donner plus d'info précise sur l'emplacement exacte de ce code?? Merciiiiiii

---------------------------------------------------
-> dans liste_article.php
-------------------------------------------------------------------------------------------
rajouter dans le lien d'insertion le code suivant                  =============> Ca se trouve ou exactement
&nom='.$r1["nom"].'

signaler à un administrateur
Commentaire de merci51 le 02/07/2006 19:11:36

Juste un petit passage pour lire les mise à jour et encore remercier steph666
bonne continuation a tous

signaler à un administrateur
Commentaire de merci51 le 13/09/2006 09:53:16

Bonjour,
Alors la c'est la mouïse !!!

Il faut que je jère une double TVA.

5,5% pour la TVA
19,6% pour le reste

Je misère grave et sans resultat probant en plus.

et ne pas en mettre de frais de port au dela de 200 € TTC d'achat.

Voila ou j'en suis ....
si quelqu'un à une idée ....

Merci d'avance

signaler à un administrateur
Commentaire de bemawi le 22/09/2006 15:06:20

FAILLE

Si un client souhaite commander votre produit à 100 euros, gratuitement, il PEUT.

Comment ? Via la barre d'url, car elle transmet toutes les informations :
ajout_panier.php?numserie=['id_art']&reference=['des_art']&qte=1&prix=['prix_art']&origine=liste_article.php?

si on modifie par la valeur voulu (exemple 0) le client passera commande pour O euro !!!.


J'ai pas mes cours de droit sous la main, mais le client pourra reclammer le produit à la somme donnée, soit 0 euro si il s'y prend correctement (motus sur la procédure à suivre).

Solution, ne transmettre que l'id du produit et la quantité voulu, puis restituer toutes les info (soit déjà  présente sur la page, soit dans une base de donnée).

Cette faille à été signalée à l'auteur il y a 3-4 jours.

signaler à un administrateur
Commentaire de as2b le 27/09/2006 01:03:02

Bonjour,
Et merci pour cette class.
Pour répondre à Merci51 et son problème de double TVA, moi pour ma part j’utilise 15 TVA différentes…
J’ai une table « pays », je récupère la TVA du pays dans la fonction panier, grâce à une $_SESSION qui a été renseigné quand la personne s’identifie.  

function Panier($actif = false) {
$this->article       = array();
$this->nbarticle     = 0;
$this->totalHT       = 0;
$this->totalTTC      = 0;
$this->TVA           = $_SESSION['CHAMP_TVA'];
$this->calculmontant = $actif;
$this->port          = 0;
$this->typeport      = 0;
$this->portTVA       = 0;
$this->bonAchat      = $_SESSION['BON_ACHAT'];
                }

signaler à un administrateur
Commentaire de merci51 le 01/10/2006 13:48:56

Bonjour,
As2b, merci de t'être interressé a mon probleme,
toutefois, il y a une petite incomprehention
(j'ai du mal m'exprimer)
En france il y a plusieurs taux de TVA
19.6% classic .... mais si je souhaite vendre un livre la TVA passe à 5.5%
et le tout sur la même commande ....

le probleme est la ...
gérer 2 taux de TVA sur la même commande

pas facile...

pour le moment ma solution c'est de virer le detail TVA
mais c'est pas le mieux

merci à ceux qui y reflechirons

à bientôt

signaler à un administrateur
Commentaire de merci51 le 01/10/2006 13:58:50

Je me permet aussi d'intervenir concernant la pseudo faille

ma solution est celle ci :
<a href="#" onclick="document.location.href='ajout_panier.php?numserie=<? echo $data['id_ref'];?>&designation=<? echo $data['id_desig']; ?>&qte=1&prix=<? echo $pvht; ?>&origine=index.php?page=panier'"><img src="images/b_commander.gif" alt="ajouter caddie" width="85" height="17" border="0" /></a>

cela à le default de ne pas fonctionner chez les gens qui bloquent les javascripts
1 à 2 % des internautes ... ou chez les gens en Mac avec un vielle OS 9 (bien fait pour eux!! lol)
mais sinon c'est nickel

voilà , rien de plus

signaler à un administrateur
Commentaire de merci51 le 03/10/2006 12:07:45

Bonjour !!!
Y'a que moi ici !!!

Quelqu'un pourrait mettre un exemple de mise en place des frais de port.

quel sont les modifs pour :
panier.class.php
et
consultation_panier.php

moi j'ai toujour un message.
missing argument ligne 57 de panier.class.php
à la ligne 57 il y a : function ajoutPort($port, $typeport) {....

je précise pour ceux qui en douterais encore
Je comprend pas pourquoi les class, je bloque
c'est maladif, mais rien à faire,
ma tête elle veux pas !!!  ???

Merci à ceux qui voudrais bien m'aider



signaler à un administrateur
Commentaire de bemawi le 04/10/2006 17:33:48

Perso, avec mon OS 8.5, OS 9.2, Linux et Win 98, j'ai pas de soucis avec les scripts java ( de 5% à 20 selon les enquéte d'ordinateur fonctionnant sans javascript surf sur le web).

En ce qui concerne ta solution, elle est nullement fonctionnel (ne me donnez pas de site géré avec ce code tel quel, sinon, je m'en vais passer des commandes), perso, j'ai ecrit un code qui n'as plus rien à voir avec celui là, pour le panier, je me base uniquement sur la quantité et la réference, puis je recalcule tout avant d'enregistrer la commande du client.

Faute de temps, je n'ai pas cherché à modifier celui là, mais je me legarde sous le coude, pour les froides nuit d'hivers.

Un peu de lecture sur le javaScript http://blog.alsacreations.com/2006/01/24/217-pourquoi-certains-nactivent-pas-javascript

signaler à un administrateur
Commentaire de lelapinou_69 le 27/10/2006 00:29:46

J'aurais besoin d'une petite aide. j'utilise cette source, et là j'essaie de faire en sorte de vider complètement le panier et de revenir à la boutique, ou alors de pouvoir revenir à la boutique quand le panier est vide, mais voici l'erreur que j'obtient

Fatal error: Call to a member function on a non-object in c:\logiciels\easyphp1-8\www\eclat&lumiere\panier\liste_article.php on line 194

si quelqu'un a déjà fait cette manip, je suis preneur d'infos.

signaler à un administrateur
Commentaire de merci51 le 30/10/2006 14:10:00

Salut lapinou lol ...

le 09/05/2006 steph666 à fait une modif pour rectifier cette erreur

regarde les nouvelles sources

Par contre
Si quequ'un a deja mis en place les frais de port
serait il possible d'avoir un exemple des modifs

un truc genre 15 € de port systematiquement
à chaque commande ....


Merci d'avance

signaler à un administrateur
Commentaire de lelapinou_69 le 07/11/2006 15:46:29

j'ai effectué une modif pour des frais de port.
je t'envoie cela où pour que tu vois. il y a surement des modifs à faire mais cela fonctionne

signaler à un administrateur
Commentaire de merci51 le 08/11/2006 11:39:12

Salut ..
sauf erreur je t'ai envoyer un mail chez hotmail

à bientôt

signaler à un administrateur
Commentaire de lelapinou_69 le 08/11/2006 12:04:48

Désolé mais jen'ai rien eu...

signaler à un administrateur
Commentaire de merci51 le 08/11/2006 12:19:41

MP ...

signaler à un administrateur
Commentaire de babar76 le 11/11/2006 21:52:33

bravo Steph666 pour cette source et merci aux membres du forum car cela m'a permis d'ajouter une nouvelle donnée au l'occurence une taille (site textile) provenant d'un select déroulant .Tout cela fonctionne parfaitement.

je demande de l'aide pour modifier le code pour avoir un article par exemple  de ref=15 et de taille 42  ne vient pas écraser la ligne ref=15 et de taille 44 mais  crée une autre ligne.
J'ai fait des essais dans la function(ajouterArticle)avec If mais ça ne fontionne pas
merci d'avance et encore bravo

signaler à un administrateur
Commentaire de merci51 le 11/11/2006 22:01:14

Je crois que c'est ta reference qui devrais etre modifiée
ref=15 et de taille 42  deviendrais ref=15.42  

et la si j'ai pas deis une grosse Co****e, ça marche..

signaler à un administrateur
Commentaire de babar76 le 16/11/2006 19:44:38

merci à toi merci51.
ton idée est bonne. A l'envoi de la requête j'ai mis  .php?numserie=$article+£tail $tail étant la variable de la taille ; ça fonctionne mais il est impossible de vider le panier .Si tu as une solution pour le panier je suis preneur.

Merci pour tes précieux conseils.

signaler à un administrateur
Commentaire de merci51 le 16/11/2006 23:13:22

Bonsoir, impossible de vider le panier ?
pourtant sur la version source il n'y a pas de probleme de ce coté ...

As tu un message d'erreur ?

je voulais dire pour ceux qui chercherais ...
LES FRAIS DE PORT !!! (merci le_lapinou69 !!!)

>>j'ai ajouté quelques lignes à ajout panier.php :

$type   = 'colie_poste';
$port = 12.45;

if (!Empty($port)) {
$var->ajoutPort($port,$type);

>>AVANT :

$_SESSION["panier"] = serialize($var);
}


et à la place de 'à déterminer' dans consultation panier il faut mettre

'.$page->panier->getLivraison().'&nbsp;&euro;

et le tour est joué !!!

encore merci lapinou

et bon code à vous


signaler à un administrateur
Commentaire de babar76 le 18/11/2006 20:42:29

je n'ai pas de message d'erreur,il exécute le programme, sans vider le panier.
Mais je crois savoir ce qui pose problème.

dans le requête d'envoi j'ai fait cet essai .php?numserie=$article+100&etc..
donc dans le panier s'affiche  15 100 .Je pense que c'est l'espace qui bloque la raz
du panier.
Mais faire $article+$tail est-ce correct au niveau code
(la 1ere est du type varchar l'autre text) .
Sinon y aurait-il une autre solution de code?
Merci de ton aide et de ton attention.

signaler à un administrateur
Commentaire de merci51 le 18/11/2006 21:09:12

Si ton probleme releve de la concatenation de variable

tu devrais peut eetre ecrire

numserie=$article.'100'.&etc

sinon je vois pas

signaler à un administrateur
Commentaire de babar76 le 19/11/2006 22:28:55

merci à toi merci51 de suivre nos égarement. C'est bien l'espace qui bloque.
J'ai essayé les guillemets ,les points. Ce que j'ai c'est que j'ai inversé les 2 variables
et il ny a plus d'espace, et le panier se vide bien même si la variable $tail contient des lettres.
numserie=100a+$article ou 100a$article ça fonctionne

numserie=$article+100a ou $article+100a ça ne fonctionne pas
Pouquoi j' en sais rien?

dans mon programme je récupère la donnée de la taille d'une balise select:
<select name\*taille\* onchange='$tail'>
je pensais que ma donnée était $tail mais il n'en est rien:
en fait j'ai php?numserie=$article&taille=$tail $tail est vide et la vrai donnée c'est taille

si j'écris php?numserie=taille$article  si $article=15 dans le panier j'ai taille15
existe t-il une syntaxe particulière pour ce type de variable?

je galère depuis longtemps alors cette source est géniale.

un grand merci surtout que je m'explique pas trés clairement.



signaler à un administrateur
Commentaire de merci51 le 20/11/2006 16:22:45

j'ai pas tout compris .....

signaler à un administrateur
Commentaire de babar76 le 20/11/2006 23:55:02

bonsoir merci51 ,merci d'essayer de suivre...

ta solution proposée fonctionne si on  --> php?numserie=$tail$article
si on écrit -->php?numserie=$article$tail ça ne fonctionne pas il est impossible de faire la raz du panier car un espace s'installe
ex si $article =15 $tail=xxl --> on a 15 xxl alors que $tail$article --> xxl15 pas d'espace qui s'est créé et la raz du panier fonctionne.  
Plus rien à dire sur la source car elle est superbe.


signaler à un administrateur
Commentaire de babar76 le 21/11/2006 00:35:37

bonsoir Merci51

  <form name=\"checknum\" action=\"ajout_panier.php?numserie=$tail$article&taille=$tail&qte=$qte&prix=$pxht&origine=index.php\" method=\"post\" onSubmit=\"return checkban()\">

<select name=\"taille\"  onchange='$tail'  >";

$sql3 = "SELECT id_taille_produit,  taille_produit FROM $table_taille_produit where id_prod='$article' ";  
$sql3 = mysql_db_query($base,$sql3);
while ($site3=mysql_fetch_array($sql3))
{
echo"<option value=\"$site3[taille_produit]\"";  echo"selected";  echo"> $site3[taille_produit] ";
}

je t'ai mis un morceau de code qui envoie les varibles au panier.On fait une requête à la table taille_produit, qui contient pour chaque id_produit les tailles corespondantes pour les afficher et selectionner la taille désirée.
la fonction checkban() contrôle si la quantité saisie n'est égale à 0 et affiche un message.

Le problème rencontré est le suivant : la variable $tail est vide.Mais dans le requête si j'écris .php?numserie=$article&taille&qte=$qte...etc la valeur de la donnée taille s'inscris bien dans panier.
Dans cette requête si je change taille en taill cela ne fonctionne plus car elle est distinct du name de la
balise select.

Comment peut-faire pour que la variable $tail recoive bien la valeur de la donnée taille?

J'espère que c'est un peut plus  clair, et que tu vas pouvoir trouver le bug.

Merci d'avance de ton précieux temps que tu nous accordes.;))
Comment faire pour que la valeur $tail ne soit pas vide?

signaler à un administrateur
Commentaire de lelapinou_69 le 21/11/2006 09:17:37

ton soucis, enfin d'après ce que je peux voir sur le code, et que je connais... à aucun moment tu n'initialise la variable $tail, il est donc pour moi évident qu'elle soit vide. Car il me semble que le OnChange est simplement un événement, ce qui veut dire qu'il attend une fonction ou une procédure à exécuter et non une variable. Enfin je peux me tromper.
Par contre j'ai fais un traitement similaire et c bien le name du select 'taille' que je teste et non une autre variable. Je ne m'embête peut être pas, mais je suis certain qu'il y aura qqchose.

signaler à un administrateur
Commentaire de babar76 le 23/11/2006 22:46:50

merci Lelapinou_69, ton analyse est bonne.
le onChange attend un évenement et ne rend pas la variable.

Pour vérifier le fonctionnement je faisait ouvrir une fenêtre Alert qui affichait
l'option chosit grace à un script javascript.Si ce script renvoie $tail dans return
peut-être que ça pourrait fonctionner.

Sur ta bonne idée je vais faire le test... à plus tard
et merci de ton attention.

signaler à un administrateur
Commentaire de lelapinou_69 le 24/11/2006 09:08:40

Petit message pour remercier encore Steph666 pour son source.
Après quelques adaptations, quelques modifications : intégration à une base MySQL, intégration d'un système de paiement, intégration d'une gestion des Frais de port, son source est devenu un vrai source E-commerce, qui ne cesse de s'améliorer grâce à tous ceux qui y participent.

Donc rien que pour ça, MERCI!

signaler à un administrateur
Commentaire de merci51 le 24/11/2006 10:17:24

Steph666 << SUPER STAR >>

Merci et encore MARCI !!!!!!

signaler à un administrateur
Commentaire de corsonr le 30/11/2006 11:49:13

hello, ca fait longtemps que je n'avais pas retravaillé sur ce code et il me semble qu'il y a un gros problème que j'ai du modifier pour le codage que je réalise actuellement, en effet la TVA est calculée en prenant en compte les frais de port pourtant il n'y a pas de TVA sur les frais deport en France, il y a des modifs a faire a ce niveau la, je les ai effectué si ca intéresse quelqu'un !

signaler à un administrateur
Commentaire de merci51 le 30/11/2006 17:11:44

bonjour

ça nous interresse tous !!

poste tes modifs, fais partager l'info !!!

merci à toi pour ta contribution

signaler à un administrateur
Commentaire de corsonr le 30/11/2006 17:14:39

a voir le code de plus pres il semble que l'auteur avait plus ou moins prévu que les frais de port pouvaient être assujétis à la TVA mais pour le moment je continuer de modifier pour arriver a ce que je souhaite vraimet, dès que tout est opérationnel je poste les infos !

signaler à un administrateur
Commentaire de corsonr le 30/11/2006 17:32:22

sinon tant que j'y suis personne ne sait comment ajouter une valeur provenant d'une liste déroulante via le lien d'inclusion des valeurs ? soit dans ce lien la:

<a href="#" onClick="document.location.href=\'ajout_panier.php?numserie=HTSML_01&qte=\'+document.form1.qte_1.value+\'&prix=19.90...

du fichier liste_articles.php

afin de récuper la valeur dans consultation_panier.php

car je fais un site qui vend des vetements et je veux inclure la taille et la couleur des vêtements, tout se passe bien quand je mets directement les valeurs dans le lien ci dessous avec les variables telles que $taille ou $couleur mais quand je demande d'aller chercher la valeaur depuis le formulaire..... je n'ai rien !

si quelqu'un a la réponse ! sinon je continue de chercher

signaler à un administrateur
Commentaire de babar76 le 30/11/2006 22:53:38

bonsoir Corsonr

si tu as lu les posts je recherche la même chose que toi.
Dans le select, à l'évement onChange qui affiche une fenêtre donnant la valeur sélectionnée.
la procédure fait le retour de cette variable     return ($tail) ,mais ensuite dans la requête
la variable  $tail est vide.

si quelqu'un à la réponse? merci, car aprés cela la souce géniale de Steph666  sera complète.

signaler à un administrateur
Commentaire de corsonr le 01/12/2006 15:15:43

hello, bon alors j'ai la solution pour récupérer d'autres infos telles que la taille d'un vêtement ou la couleur ou tout autre info sur le produit à partir d'une liste déroulante qui doit apparaitre dans la consultation du panier. Pour commencer il faut reprendre les étapes suivantes (que j'ai indiqué dans un message plus récent mais que je remets ici):

INFOS POUR RAJOUTER LE NOM DU PRODUIT ET SA COULEUR A PARTIR D'UNE LISTE DEROULANTE

-> dans panier.class.php
-------------------------------------------------------------------------------------------

modifier la fonction suivante:
// Ajoute un article dans le Panier
function ajouterArticle($numserie, $quantite, $montantHT = 0, $nom, $couleur) { // MODIF ICI rajouter les variables
if (!empty($numserie)) {
if ($this->article[$numserie]) $this->article[$numserie]['qte'] += $quantite;
else {
$this->article[$numserie]['qte'] = $quantite;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
$this->CalculTotal($this->article[$numserie]['montantHT']);
}
}
$this->article[$numserie]['nom'] = $nom; // CODE A RAJOUTER pour le nom du produit
$this->article[$numserie]['couleur'] = $couleur; // CODE A RAJOUTER pour la couleur du produit
}

et créer la fonction d'appel du nom:
// Renvoie le nom de l'article $numserie
function getNomArticle($numserie) {
return ($this->article[$numserie]['nom']);
}

et créer la fonction d'appel de la couleur:
// Renvoie le nom de l'article $numserie
function getNomArticle($numserie) {
return ($this->article[$numserie]['nom']);
}

-> dans ajout_panier.php
-------------------------------------------------------------------------------------------

rajouter dans l'affectation des variables la ligne:
$nom      = isset($_REQUEST["nom"])      ? $_REQUEST["nom"]      : "";
$couleur  = isset($_REQUEST["couleur"])  ? $_REQUEST["couleur"]      : "";

et rajouter les variables $nom et $couleur lors de l'appel de la fonction dans le programme principal

if (!Empty($numserie) && $qte > 0) {
if ($prix > 0) {
$var->calculmontant = true;
$var->ajouterArticle($numserie, $qte, $prix, $nom, $couleur); // LES VARIABLES SONT RAJOUTEES ICI
} else $var->ajouterArticle($numserie, $qte);

$_SESSION["panier"] = serialize($var);
}
if ($origine) {
Header("Location: $origine");
exit;
}

-> dans liste_article.php
-------------------------------------------------------------------------------------------
rajouter dans le lien d'insertion le code suivant
&nom=nom du produit&couleur=\'+document.form1.couleur_p_1.options[document.form1.couleur_p_1.selectedIndex].value+\'

ici le formulaire s'appelle form1 et la liste déroulante a pour valeur "name" couleur_p_1 et le code de la liste déroulante est par exemple (dans la page liste_article.php):
<select name="couleur_p_1">
   <option value="noir">black</option>
/select>

-> dans consultation_panier.php
-------------------------------------------------------------------------------------------
pour faire apparaitre la couleur et le nom du produit dans la page consultation_panier.php

utiliser les valeurs: '.$page->panier->getCouleurArticle($numserie).' et '.$page->panier->getNomArticle($numserie).' a placer a l'endroit où vous voulez faire apparaitre les valeurs




Donc avec ca vous pourrez avancer pas mal, vos développements, dès que le site que je code est ok, je vous envois le lien pour voir ce qu'il est possible de faire (miniature des produits sur la page consultation etc...)

Bon weekend !

signaler à un administrateur
Commentaire de corsonr le 01/12/2006 15:18:52

oups petite erreur dans l'appel de la fonction qui retourne la couleur:

et créer la fonction d'appel de la couleur:
// Renvoie la couleur de l'article $numserie
function getCouleurArticle($numserie) {
return ($this->article[$numserie]['couleur']);
}

mais bon je pense que vous auriez deviner assez vite le pb, puisque j'ai fait un simple copier coller en oubliant de modifier le texte.... he he he !

signaler à un administrateur
Commentaire de peterklm le 07/02/2007 19:51:57

petite question tte bete, je voudrais savoit si quelqu'un à deja realisé un site marchand à l'aide de cette classe panier meme titre perso. Si oui une url pour voir ce que ça donne.
merci.

signaler à un administrateur
Commentaire de lelapinou_69 le 08/02/2007 09:15:50

voici le mien http://www.eclats-de-lumiere.com/boutique.htm
voilà ce que j'ai pu faire avec mes petites connaissances. j'ai donc modifier le fonctionnement des frais de port qui existe par défaut mais pas exploité. J'ai fais aussi une modif dans ma base pour gérer le stock, mais là c'est pas encore en place, la gestion de stock actuelle est gérée par l'admin directement.
Donc juste pour te montrer ce que ça donne. Mais d'autres en ont fait de plus complètes....
C'est une bonne source, pas totalement parfaite, mais c'est ce qui fait que l'on peut mettre la main à la pâte!
@+

signaler à un administrateur
Commentaire de spiritofmarquito le 10/03/2007 09:51:19

Bonjour, une petite précision il y a pas de base de donnée ?

Je recherche un script de caddie pour vendre des vêtements avec les options taille et couleur
Mais je ne trouve rien ?
Merci pour vos conseils

signaler à un administrateur
Commentaire de smartnouse le 16/04/2007 21:02:19

Bonjour,
Pour commencer cette classe est vraiment nickel, merci bcp ^^
Cependant j'ai un petit pb, je n'arrive pas à ajouter plusieurs articles dans mon panier, il ne prend en compte que le dernier produit ajouté.

Il s'agit bien de la boucle suivante ?

foreach ($page->panier->article as $val => $numserie) {
$out .= '
<tr>
<td>'.$val.'</td>
<td align="right">'.$page->panier->getPrixArticle($val).'&nbsp;&euro;</td>
<td align="right">
<table cellpadding="0" cellspacing="0" border="0">
<tr valign="middle">
<td><input type="text" name="qte_'.$val.'" value="1" readonly size="4" /></td>
<td><a href="#" onclick="document.form1.qte_'.$val.'.value++;return false"><img src="images/plus.gif" width="14" height="10" border="0" hspace="0" vspace="0" /></a><br /><a href="#" onclick="document.form1.qte_'.$numserie.'.value--;return false"><img src="images/moins.gif" width="14" height="10" border="0" hspace="0" vspace="0" /></a></td>
</tr>
</table>
</td>
<td align="right" class="intitule">'.$page->panier->getMontantArticle($val).'&nbsp;&euro;</td>
<td align="right" class="intitule">'.$page->panier->getMontantTTCArticle($val).'&nbsp;&euro;</td>
<td align="middle" class="intitule"><input type="checkbox" name="suppr_'.$val.'" /></td>
</tr>';
}

Merci d'avance!

signaler à un administrateur
Commentaire de lelapinou_69 le 17/04/2007 09:03:59

Le source que tu mets là n'est pas celui de l'ajout de l'article au panier, mais celui qui te réalise le listing de ton panier.
Sur ta page "Liste_articles.php" tu as un lien sur chaque article qui commence par 'ajout_article.php?..."
Ce lien te montre où se situe le source d'ajout d'article au panier. C'est ce source que tu dois vérifier me semble -t-il.

signaler à un administrateur
Commentaire de fahr451 le 25/04/2007 14:23:04

Bonjour,
Help !
je voudrais savoir comment il est possible de lister des produits venant d'une base de données dans liste_article.php... Le out de ce fichier semble tout interpréter en html ?
Merci d'avance !!

signaler à un administrateur
Commentaire de lelapinou_69 le 25/04/2007 14:45:38

tiens voici mon source à cet effet.

$nombre=4;
if (!$limite) $limite=0;

//connexion à la base
$link = mysql_connect($host,$util,$pass) or die('Erreur 1 : '.mysql_error());
mysql_select_db($db) or die('Erreur 2:'.mysql_error());

//compte le nombre d'enregistrements total de la table
$select = 'SELECT COUNT(id_art) FROM produit';

$result = mysql_query($select,$link) or die('Erreur 3 :'.mysql_error());
$row = mysql_fetch_row($result);
$total = $row[0];

$VerifLimite = VerifLimite($limite,$total,$nombre);
if (!$VerifLimite)
{
$limite=0;
}

//sélectionne la portion d'enregistrements à afficher
$select = 'SELECT id_art,des_art,photo_art,prix_art,desc_art_mini,new_art,stock_art FROM produit LIMIT '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die('Erreur 4 : '.mysql_error());

//si on a récupéré un résultat on l'affiche
if ($total)
{
//début du tableau
while($row =mysql_fetch_array($result))
{
echo '<td>';
echo '<table width="100%" border="0" valign="middle" align="center" cellpadding="3" cellspacing="0">
  <!--DWLayoutTable-->
  <tr valign="middle" align="center">
<td width="270">
  <table border="0" cellpadding="0" cellspacing="0">
<tr>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr valign="top">
  <td><!--DWLayoutTable--></td>
  <td rowspan="2" colspan="2">
<p style="color: #162977; font-size: 15px; padding-bottom: 0px;"><b>'.$row['des_art'].'</b></p>
<table border="0" cellpadding="0" cellspacing="0" width="255">
  <tr>
<td><img src="../miniature.php?pic=panier/produits/'.$row['photo_art'].'&w_max=90&h_max=90" hspaces="5"></td>
<td> <p style="color: #9023A3">'.$row['desc_art_mini'].'</p>
  <p style="font-size: 13px; padding-bottom: 5px;"><b>'.$row['prix_art'].' €</b></p></td>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="255" height="24">
  <!--DWLayoutTable-->
  <tr>
<td width="25" height="24" valign="middle" >';
if ($row['stock_art']=='1')
{
echo '<img  src="images/stock.gif" title="Article en stock"/></td>';
}
else
{
echo '<img  src="images/rupt.gif" title="Article en rupture"/></td>';
}
echo '<td width="50" valign="middle" >';
if ($row['new_art']=='1')
{
echo '<img  src="images/nouveau.gif" title="Nouvel article"/></td>';
}
else
{
echo '&nbsp;</td>';
}
echo '<td width="90" height="24" ></td>
<td width="90" height="24" ><a href="ajout_panier.php?numserie='.$row['id_art'].'&reference='.$row['des_art'].'&qte=1&prix='.$row['prix_art'].'&origine=liste_article.php?" class="achat"></a></td>
<td width="105" height="24" ><a href="detail_article.php?numserie='.$row['id_art'].'" class="detail"></a></td>
  </tr>
</table>
  <!-- /in -->
  <td><!--DWLayoutTable--></td>
</tr>
<tr valign="bottom">
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr>
<td height="20" colspan="4" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
</tr>
  </table>
  <!-- /left -->
</td>';
if ($row = mysql_fetch_array($result))
{
echo '<td width="270">
  <table border="0" cellpadding="0" cellspacing="0">
<tr>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr valign="top">
  <td><!--DWLayoutTable--></td>
  <td rowspan="2" colspan="2">
<p style="color: #162977; font-size: 15px; padding-bottom: 0px;"><b>'.$row['des_art'].'</b></p>
<table border="0" cellpadding="0" cellspacing="0" width="255">
  <tr>
<td><img src="../miniature.php?pic=panier/produits/'.$row['photo_art'].'&w_max=90&h_max=90" hspaces="5"></td>
<td>  <p style="color: #9023A3">'.$row['desc_art_mini'].'</p>
  <p style="font-size: 13px; padding-bottom: 5px;"><b>'.$row['prix_art'].' €</b></p></td>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="255" height="24">
  <!--DWLayoutTable-->
  <tr>
<td width="25" height="24" valign="middle" >';
if ($row['stock_art']=='1')
{
echo '<img  src="images/stock.gif" title="Article en stock"/></td>';
}
else
{
echo '<img  src="images/rupt.gif" title="Article en rupture"/></td>';
}
echo '<td width="50" valign="middle" >';
if ($row['new_art']=='1')
{
echo '<img  src="images/nouveau.gif" title="Nouvel article"/></td>';
}
else
{
echo '&nbsp;</td>';
}
echo '<td width="90" height="24" ></td>
<td width="90" height="24" ><a href="ajout_panier.php?numserie='.$row['id_art'].'&reference='.$row['des_art'].'&qte=1&prix='.$row['prix_art'].'&origine=liste_article.php?" class="achat"></a></td>
<td width="105" height="24" ><a href="detail_article.php?numserie='.$row['id_art'].'" class="detail"></a></td>
  </tr>
</table>
  <!-- /in -->
  <td><!--DWLayoutTable--></td>
</tr>
<tr valign="bottom">
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
  <td><!--DWLayoutTable--></td>
</tr>
<tr>
<td height="20" colspan="4" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
</tr>
</table>
  <!-- /left -->
</td>';
}
echo '   </tr>';
echo ' </table>';
echo '</td>';
}
}

mysql_free_result($result);

ce code me permet d'afficher 4 articles / page,
en dessous j'affiche les pages qu'il y a, cela me permet de naviguer.
Si ça t'aide, c'est bien.
@plouch

signaler à un administrateur
Commentaire de fahr451 le 25/04/2007 14:47:14

Merci !!! c'est exactement ce qui va me permettre d'avancer ;)

signaler à un administrateur
Commentaire de FhX le 25/04/2007 15:33:17

Hop, je met le 100ème commentaire :D

signaler à un administrateur
Commentaire de lelapinou_69 le 25/04/2007 15:37:26

Hahaha petit malin. ;-)

signaler à un administrateur
Commentaire de fahr451 le 26/04/2007 11:43:55

Bon après je ne vous embête plus ^^
En fait j'arrive à afficher mon panier, sans problème. Ensuite se pose le problème de la validation de ce dernier... et l'insertion dans la base...
dans le consultation panier il y a bien le bouton qui permet de mettre à jour le panier en recalculant à partir de la quantité ou de la suppression, mais comment ajouter un comprtement qui va permettre de valider tout ça ?

signaler à un administrateur
Commentaire de lelapinou_69 le 26/04/2007 12:02:11

l'insertion de la base?? Il n'y a pas, à mon avis d'insertion dans la base de ton panier, sauf une fois que la commande à été générée et que tu la sauvegarde.
il faut que tu crée un système de validation de panier à ta sauce. Le panier n'a pas besoin d'être sauvegardé dans la base, il l'est en tant qu'objet, donc consultable partout sur ton site à partir du moment où tu lis la classe.
Le procéssus standard veut que lorsque la personne a terminé son panier, tu lui permettes de remplir un forulaire indiquant son nom,prénom adresse, ou de se logger si c'est un client. Ensuite de choisir un mode de livraison, enfin de payer, et une fois que tu as le retour de paiement (normalement immédiat en CB ou différé en chèque) tu crée ton enregistrement Commande et ligne commande.
Voilà. Tu peux regarder ce que j'ai fais (et je me répète, c'est assez simplet) sur http://www.eclats-de-lumiere.com/boutique.htm, rempli un panier, et vois ce qui suit, ça te donnera une idée.
Si tu as encore besoin d'aide n'hésite pas...

PS: Merci encore à Steph666!

signaler à un administrateur
Commentaire de fahr451 le 26/04/2007 13:26:05

oui mais en fait pour le site sur lequel je travaille, après que le client (déjà identifié) aie inséré des produits dans son panier, je dois juste insérer dans la base de données les références commandées, les quantités et le prix total...

signaler à un administrateur
Commentaire de lelapinou_69 le 26/04/2007 14:18:09

alors explique moi exactement quel est ton problème, puisque les valeurs tu les as, les nom des variables tu les as.

signaler à un administrateur
Commentaire de fahr451 le 26/04/2007 14:42:41

je viens de comprendre, grâce à ton site... désolé d'avoir mis le temps :)

signaler à un administrateur
Commentaire de lelapinou_69 le 26/04/2007 15:36:13

si ça t'a aidé tant mieux.
Bonne continuation.

signaler à un administrateur
Commentaire de fahr451 le 27/04/2007 08:50:02

Super c'est encore moi (ne me jettez pas de pierres).
Tu intègres dans les variables une référence... les variables de base j'arrive à les utiliser (numserie, qte et prix...) mais je n'arrive pas à comprendre comment je peux en plus trimballer une référence (nom du produit en texte) dans mes variables de session...

signaler à un administrateur
Commentaire de fahr451 le 27/04/2007 09:25:54

bon j'ai trouvé mon bonheur dans vos réponses antérieures... mille excuses au webmaster de phpcs... vous pouvez éventuellement effacer ces deux dernières interventions.

signaler à un administrateur
Commentaire de merci51 le 27/04/2007 20:13:49

Bonjour,

Je viens pour ne poser aucune question ...
Juste un bonjour en passant ...
Salut LELAPINOU_69 !!

Y'a de la vie ici !!

Et c'est vrai qu'il est bien ce script
avec un peu de boulot on peu vraiment faire un truc chouette
Mais le coup du Hors taxe plus ça va plus j'oublis
regardez lez autres sites, y'a personne en hors taxe (bon queques pro ...)

Bon courage a tous et faites vous plaisir
a+

signaler à un administrateur
Commentaire de lelapinou_69 le 27/04/2007 23:36:18

Salut merci51. Comme tu dis il y a de la vie. Le script est toujours utilisé, et je l'utilise sur tous les sites que je fais avec une boutique. Je le connais maintenant, et je peux le modifier à ma guise.
Pour le hors taxe, c'est très souvent demandé dans les factures par les pros, alors il va de soit qu'on le met.
Tu as fini ton site depuis? Tu es sur autre chose?
bonne continuation à ce script, et aux futurs utilisateurs, n'hésitez pas à venir, mais n'hésitez pas à plonger dans le code. En lisant vous comprendrez beaucoup de choses.

Cho!!!

signaler à un administrateur
Commentaire de tadjidine le 04/06/2007 06:55:51

salut pr tous je suis entrain de realisé un projet de fin d'etude sur service d'achat en ligne en faite je suis un peu blocké sur le coté de cre les paniers en faite pr savoir coment le deroulement se fait pr tt les etapes du paner merci bcp pr votre aide

signaler à un administrateur
Commentaire de lelapinou_69 le 04/06/2007 09:39:39

quel est exactement ton besoin.
Si c'est simplement l'enchainement pour utiliser un panier de la sélection des articles au paiement, on peut dire qu'en général ça se suit ainsi :
   - sélection des articles
   - remplissage du formulaire des coordonnées
   - sélection du moyen de transport (si plusieurs solutions sont proposées)
   - paiement via carte bleu
   - récapitulatif de commande, avec envoie d'email également, et possibilité d'impression de la commande.
Si ce n'est pas ton soucis, donne nous plus de précisions.

signaler à un administrateur
Commentaire de merci51 le 04/06/2007 17:46:01

Mais c'est comment qu'on gagne un panier garnis ???

signaler à un administrateur
Commentaire de lelapinou_69 le 04/06/2007 18:35:16

hahaha tu achètes pour quelques 100000€, avec les bénef je paie les impôts, ensuite avec ce qui me reste, je paies mes charges, les fournisseurs, le loyer, les employés. Ensuite q'il reste quelque chose, je fais une brocante,j'achète un panier, je vais chez Lidl, je prend des bonbon, des gâteaux et autres mets succulents, et je te fais ton panier garnis.
voilà.

signaler à un administrateur
Commentaire de lelapinou_69 le 04/06/2007 18:53:08

désolé pour le débordement....

signaler à un administrateur
Commentaire de merci51 le 04/06/2007 20:25:12

Bon plan, c'est ou qu'on signe ??

signaler à un administrateur
Commentaire de peterklm le 06/08/2007 14:26:17

salut à tous,
je fais face à un problème sur ce code,
Lors de passer une commande pour une meme reference dans le panier comment rajouter d'autres articles
de la meme couleur meme taille dans mon panier.
ex: pour article ref304 je veux un tee-shirt de taille XL, un autre de taille S
et pour cette meme ref304 je veux un tee-shirt de couleur jaune, un autre de couleur bleu.
j'ai essayé mais aucun resultat.

merci à vous de me renseigner.

signaler à un administrateur
Commentaire de lelapinou_69 le 06/08/2007 14:48:17

Tout dépend de comment tu gères tes articles. Mais cela doit en premier lieu être bien structuré au niveau de ta base de donnée. Si ta référence ne tient pas compte de la taille, tu vas au delà de pas mal de boulot, mais si déjà à la base ta référence correspond à l'article/taille tu ne devrait pas avoir de soucis, car en sélectionnant la réf, et la taille tu devrait pouvoir trouver le 'numserie' correspondant.
Si tu as un fichier 'ARTICLE' et un fichier 'TAILLE' tu devrait avoir un fichier joignant les 2 qui contiendrait toutes les autres info, dont le 'numsérie'.

signaler à un administrateur
Commentaire de peterklm le 06/08/2007 14:57:50

salut,
merci pour ta reponse, justement dans ma base j'aurai qu'une reference pour un article pour lequel j'aurai plusieurs couleurs, et plusieur tailles.
je pense que ça deviendra lourd de créer une ref pour chaque couleur, et chaque taille d'article  dans la BDD

sinon, quelle est la meilleure soluce pour mieux gerer tout ça ?

signaler à un administrateur
Commentaire de lelapinou_69 le 06/08/2007 15:11:24

Pour que cela fonctionne, ton 'numserie' doit forcément être unique, donc ton 'numserie' doit correspondre à 'ARTICLE+TAILLE+COULEUR', donc rien de mieux que de faire un fichier 'TAILLE' un 'COULEUR' un 'ARTICLE' et un 'REF' qui contient les jointures et qui te servira au remplissage de ton panier.
A mon sens c la meilleur solution, ensuite les requetes seront simples à mettre en place, rien de bien compliqué, mais au moins ce sera propre.

signaler à un administrateur
Commentaire de peterklm le 07/08/2007 02:34:24

merci, je vais m'y mettre.
Justement je voulais eviter cette methode, en croyant qu'il en existait mieux.
moi, je voulais  eviter de créer dans ma bdd une ref pour chaque couleur d'article, et chaque taille d'article.

merci quand meme.
@ très bientôt.

signaler à un administrateur
Commentaire de antony982 le 14/08/2007 01:41:56

source bien sympa ;)
pour résoudre les messages d'erreur sous easyphp 1.8 (php5)

Notice: Undefined index: Reference2 in c:\easyphp1-8\www\panier\panier.class.php on line 146
Notice: Undefined index: montantHT in c:\easyphp1-8\www\panier\panier.class.php on line 191
Notice: Undefined index: montantTTC in c:\easyphp1-8\www\panier\panier.class.php on line 192

dans panier.class.php :
Remplacer
// Calcule le montant Total HT et TTC par article
function CalculMontantArticle($numserie, $prix, $qte) {
$this->article[$numserie]['montantHT'] += $prix * $qte;
$this->article[$numserie]['montantTTC'] += $prix * $qte * (1 + ($this->TVA / 100));
}

Par
// Calcule le montant Total HT et TTC par article
function CalculMontantArticle($numserie, $prix, $qte) {
if (isset($this->article[$numserie]['montantHT']) && ($this->article[$numserie]['montantTTC']))
        {
$this->article[$numserie]['montantHT'] += $prix * $qte;
$this->article[$numserie]['montantTTC'] += $prix * $qte * (1 + ($this->TVA / 100));
}
else
{
$this->article[$numserie]['montantHT'] = $prix * $qte;
$this->article[$numserie]['montantTTC'] = $prix * $qte * (1 + ($this->TVA / 100));
}
}

Remplacer
if ($this->article[$numserie]) $this->article[$numserie]['qte'] += $quantite;

Par
if (isset($this->article[$numserie])) { $this->article[$numserie]['qte'] += $quantite; }

Merci pour la source

signaler à un administrateur
Commentaire de nmat_fr le 24/09/2007 14:52:24

Salut @ tous,

Super code !
Mais .............
J'ai un probleme que je n'arrive pas à solutionner. Liste articles nickel j'ajoute au panier j'ajoute au panier ....
Puis je visualise mon panier et je modifie les qté ->  recalcule jusque la tout ca bien !! c deja super
Cependant si je reviens à la liste des articles et que j'ajoute un des articles deja present dans le panier, la, ca devient n'importe quoi. Le montant de la ligne est doublé !!?? tous est faux !!
et je comprend pas pourquoi.
Merci d'un coup de pouce.
Nicolas

signaler à un administrateur
Commentaire de lelapinou_69 le 24/09/2007 16:28:37

J'ai eu le même soucis au début, mais je ne me souviens plus ce que j'ai fais pour y remédier. Peux tu mettre le source initial utilisé par le fichier ajout_panier.php, car il me semble que c'est de là que cela vient.

signaler à un administrateur
Commentaire de Steph666 le 24/09/2007 16:38:06

Bonjour,

Je n'ai pas eu trop le temps de répondre, ni de regarder tous les coms depuis un moment (et il y en a en masse : quel succès ^^), mais oui en effet il y a une erreur sur la fonction :

function ajouterArticle($numserie, $quantite, $montantHT = 0) {
if (!empty($numserie)) {
if (isset($this->article[$numserie])) $this->article[$numserie]['qte'] += $quantite;
else {
$this->article[$numserie]['qte'] = $quantite;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
$this->CalculTotal($this->article[$numserie]['montantHT']);
}
}
}

Il faut remplacer :
$this->CalculTotal($this->article[$numserie]['montantHT']);
par :
$this->CalculTotal($quantite * $montantHT);

Merci d'avoir fait remarquer cette erreur.

Stéph.
p.s.: vous pouvez éventuellement m'envoyer vos modifications, évolutions de la classe pour ceux qui en ont fait, ou tous les bugs répertioriés, je pourrais faire un mix et poster tout ça.

signaler à un administrateur
Commentaire de lelapinou_69 le 24/09/2007 17:05:54

Haaaaaaaaaaa Bonjour Steph666, content de te voir pointer le bout de ton nez, non pas pour t'affliger de remarques mais pour féliciter ce top code.
Merci et bravo.

Oui certains on fait évoluer le source, notamment j'ai ajouter la possibilité d'ajouter le port (avec différents choix) et également de pouvoir générer la commande en pdf et l'envoyer par mail à la validation de celle ci. Dès que j'ai un moment je mets ça en contribution.

Pour l'erreur en question je me suis pas fais ch.... j'ai remplacer la ligne en question simplement par : $this->CalculTotal(($this->article[$numserie]['prix']*$quantite)); là au moins je suis sûr qu'il se trompe pas.

@+

Et encore merci

signaler à un administrateur
Commentaire de merci51 le 24/09/2007 17:21:24

Bonjour,

Moi comme lapinou je profite de ton passage steph pour te remercier.
Cette source m'a permie d'aborder les class et je t'en suis reconnaissant.

bonne continuation a tous.

Lapinou, toujours aussi actif a ce que je vois ;)

signaler à un administrateur
Commentaire de Steph666 le 24/09/2007 18:31:28

Merci pour tous vos compliments ça fait toujours plaisir.

Quant aux évolutions, je serais impatient d'y jeter un ½il.

signaler à un administrateur
Commentaire de nmat_fr le 25/09/2007 12:03:27

Bonjour @ tous,

Merci pour cette reponse rapide et en plus ca marche. encore merci.
Je reviens vers vous car j'ai v raiment du mal avec les sessions .......

Pour le calacul de mes frais de port j'ai besoin de la quantité global d'article et non pas du nombre d'article different contenu dans le panier.
J'ai creer une fonction qui m'additionne les quantité de chaque ligne dans panier.class, Mais cela me renvoie zero systematiquement, je pense que je ne lance pas cette fonction au bon moment

Voici le code de ma fonction.
function majQteTotalArticles() {
$qteArticles = 0;
$this->port  = 0;
if (!empty($numserie) && $this->article[$numserie]) {

foreach ($this->article as $numserie => $val) {

// Recalcul du nb  articles global
$qteArticles += $this->article[$numserie]['qte'];

}
if($qteArticles<=12)
$this->port  = 20;
else {
$tmp = $qteArticles - 12;
$qteport = $tmp/6;
$qte = ceil($qteport);
$this->port  = 20 + 5*$qte;
}
if($this->totalHT > 300)
$this->port  = 0.00;
}

}


signaler à un administrateur
Commentaire de nmat_fr le 25/09/2007 12:23:08

Désolé je suis un peu nul
Mais voila ce qui fallait que je fasse.

function majQteTotalArticles() {
$qteArticles = 0;
$this->port  = 100;
if (true) { //(!empty($numserie) && $this->article[$numserie]) {
$this->port  = 90;
foreach ($this->article as $numserie => $val) {

// Recalcul du nb  articles global
$qteArticles += $this->article[$numserie]['qte'];
$this->port  = 80;
}
if($qteArticles<=12)
$this->port  = 20;
else {
$tmp = $qteArticles - 12;
$qteport = $tmp/6;
$qte = ceil($qteport);
$this->port  = 20 + 5*$qte;
}
if($this->totalHT > 300)
$this->port  = 0.00;
}

}
Puis dans
function ajouterArticle($numserie, $quantite, $montantHT = 0.00) {
if (!empty($numserie)) {
if ($this->article[$numserie]) {
$this->article[$numserie]['qte'] += $quantite;

}

else {
$this->article[$numserie]['qte'] = $quantite;
$this->nbarticle++;
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix']      = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);

$this->CalculTotal(($this->article[$numserie]['prix']*$quantite));
//$this->CalculTotal($this->article[$numserie]['montantHT']);  erreur de calcul solutionner par steph666

}
$this->majQteTotalArticles();
}

}
et dans consultation_panier.php
function maj(&$page) {
foreach ($_POST as $cle => $valeur) {
if (preg_match("/suppr_(.*)/", $cle, $res)) $page->panier->supprimerArticle($res[1]);
if (preg_match("/qte_(.*)/", $cle, $res)) $page->panier->miseAJourQteArticle($res[1], $valeur);
$page->panier->majQteTotalArticles();
}

if ($page->panier->getNombreArticle() <= 0) {
$page->panier->destroy();
$page->panier = null;
}
}

signaler à un administrateur
Commentaire de lelapinou_69 le 14/10/2007 21:58:01

Hello, me voilà de retour.
Je cherche à faire une modif mais soit je ne vois vraiment pas comment soit je ne vois vraiment pas comment (oups!)
en effet jusqu'à présent je n'avais pas eu le cas, mais j'ai un client pour lequel j'ai monté son site autour de ce source, et il me pose une colle (pour moi, peut être pas pour d'autres), j'ai plusieurs catégories d'articles tous à 19.6 sauf une catégorie..... et là! kouak! je ne vois vraiement pas comment gérer plusieurss TVA. Car j'ai bien vu qu'à la création du panier

[code]
function Panier($actif = false, $tva = 19.6) {
$this->article       = array();
$this->nbarticle     = 0;
$this->totalHT       = 0;
$this->totalTTC      = 0;
$this->TVA           = $tva;
$this->calculmontant = $actif;
$this->port          = 0;
$this->typeport      = 0;
$this->portTVA       = 0;
}
[/code]

la tva est automatiquement instensiée à 19.6, mais si j'ai une 5.5 dans la même commande comment pourrais-je faire???

Merci

signaler à un administrateur
Commentaire de nmat_fr le 15/10/2007 10:15:48

Bonjours,

Je veux pas faire genre lapalisse .....
Mais la seule solution est de gerer la tva à la ligne de commande et non pas en pied. Cad qu'il faud que chaque article ai sont propre taux de tva, qu'il soit mis dans la session et calculer à la ligne de façon individuelle. Donc la tva actuel ne servirai plus que pour le port.
J'espere que cela t'aidera mais je pense que tu y avais deja pensé.
Nicolas (bon courage) @+

signaler à un administrateur
Commentaire de lelapinou_69 le 15/10/2007 11:53:39

tout à fait, c'est exactement comment ça que je comptais le faire. Mais merci de ton message, ça permet de voir que le source est suivi et que ma direction est pas totalement fausse...
Je vais gérer les différentes tva au niveau de ma base, et pour chaque article j'aurais un code tva, qui aidera à calculer le ttc par ligne...

tchuss!

signaler à un administrateur
Commentaire de Naomy le 16/06/2008 15:14:48

Bonjour à tous,

mon projet a pour but de créer la gestion d'un panier (ce qui est fait merci steph !)
ensuite chaque commande validée remplie une bdd
le pb c'est que je ne sais pas comment m'y prendre pour créer la bdd et introduire dans le code la connexion à mysql, les insert ...

merci pour votre aide

signaler à un administrateur
Commentaire de lelapinou_69 le 16/06/2008 16:29:01

Première question : as-tu déjà fais du php couplé à MySQL. Question pour savoir comment aborder la chose.
Si tu veux un exemple, donne moi ton mail je t'envoie cela

signaler à un administrateur
Commentaire de Naomy le 17/06/2008 13:15:28

Bonjour à tous,

<a href="file.php?PHPSESSID=xxx&var=value">link</a>

je souhaite mettre une image à la place de link

si qqu'un sait...

merci !

signaler à un administrateur
Commentaire de lelapinou_69 le 17/06/2008 14:54:06

<a href="file.php?PHPSESSID=xxx&var=value"><img src="chemin de l'image" border="0"></a>


ça c la version de base
sinon tu as la version avec le css, tu fais 2 images (différentes).
dans ton css tu fais ceci

a.link{
   block:display;
   width:60px;
   height:20px;
   background-image:url(chemin de l'image1);
   background-repeat:no-repeat;
}
a.link:hover{
   background-image:url(chemin de l'image2);
}


et là du coup ton lien devient :

<a href="file.php?PHPSESSID=xxx&var=value" class="link"></a>

d'une tu n'affiche pas ton image directement, et de 2 tu as un effet rollover sans alourdir ta page.

signaler à un administrateur
Commentaire de lelapinou_69 le 17/06/2008 14:55:04

Mais fais attention à ne pas dévier, ici on parle de la classe panier, sinon tu risque de voir ton message partir aux oubliettes... ;-)

signaler à un administrateur
Commentaire de Naomy le 17/06/2008 18:18:45

j'ai utilisé la 1er solution, ça marche super !
merci LELAPINOU_69

ps: sauf erreur, je n'ai rien reçu de ta part par mail ??

signaler à un administrateur
Commentaire de lelapinou_69 le 17/06/2008 20:43:12

pourtant j'ai bien envoyé le mail cette aprem.

signaler à un administrateur
Commentaire de lelapinou_69 le 23/10/2008 15:29:16

tu peux poser tes questions ici directement, personne ne va te manger. Et peut être que d'autres sont dans ton cas et pourrons profiter des réponses.
Mais une choses est sûre, la connaissance de php est importante tout de même pour comprendre le fonctionnement de la classe, mais à la lecture, avec les base de php tu peux comprendre facilement comment ça fonctionne.
N'hésite pas, pose tes questions

signaler à un administrateur
Commentaire de smoggin le 29/12/2008 15:38:56

Salut et merci pour cette source qui m'a bien dépanné jusque là ! :)

Je cherche par contre comment récupérer le nombre de total d'articles dans le panier (boucle sur quantité*numsérie). Il n'y a pas de fonction qui fait ça actuellement si ?

Merci !

signaler à un administrateur
Commentaire de lelapinou_69 le 29/12/2008 16:00:29

non cela n'existe pas mais l'addition de cette fonction n'est pas compliquée.
Procède comme ceci :
function Panier($actif = false, $tva = 0) ajoute une ligne :
##$this->nbTotarticle  = 0;

function destroy() ajoute une ligne :
##unset ($this->nbTotarticle);

function ajouterArticle() ajoute cette ligne :
##$this->nbTotarticle = $this->nbTotarticle + $quantite;
après la ligne
##$this->nbarticle++;

function miseAJourQteArticle() ajoute cette ligne
##$this->nbTotarticle = $this->nbTotarticle + $diff;
après la ligne
##$this->CalculTotal($diff);

et enfin crée ta fonction :
// Renvoie le nombre total d'article contenus dans le Panier
function getNombreTotArticle()
{
   return ($this->nbTotarticle);
}

signaler à un administrateur
Commentaire de smoggin le 29/12/2008 16:16:38

Merci pour cette réponse super rapide !

En bidouillant j'étais arrivée à quasiment la même chose par contre pour la fonction miseAJourQteArticle() il faut ajouter la ligne
##$this->nbTotarticle = $this->nbTotarticle + $diff;
après la ligne
##$diff = $quantite - $this->article[$numserie]['qte'];

parce que $diff est modifié avant $this->CalculTotal($diff); (par $diff *= $this->article[$numserie]['prix'];)

Merci de m'avoir aidé !:)

signaler à un administrateur
Commentaire de lelapinou_69 le 29/12/2008 16:30:28

oups, exact. Je corrige chez moi du coups! hahaha

Je t'en prie

signaler à un administrateur
Commentaire de Ncosy le 12/01/2009 03:11:47

hello salut à tous je suis tout nouveau en php; j'ai un problème avec ce source. j'ai un bug dans firefox, je n'arrive plus à supprimer les articles. si je coche et que je valide il ne passe rien. quelqu'un à déjà rencontré leproblème????? merci de votre aide

signaler à un administrateur
Commentaire de lelapinou_69 le 12/01/2009 09:29:57

remplace la ligne ou se trouve la coche et le supprimer par ceci :
<td align="middle" class="intitule"><a href="suppr_article.php?origine=consultation_panier.php&numserie='.$numserie.'"><img src="images/supprimer.png" name="maj" border="0"></a></td>

n'oublie pas d'ajoujter une petite image de poubelle dans le répertoire images

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

actualisation du caddie ? [ par etudianto ] Bonjour,J'ai un petit script de type caddie avec envoie des données par url vers la page panier?php.Le code du lien est le suivant :&lt;a href="panier probleme de suppression d'article dans un caddie [ par oceane751 ] bonjour, je suis en train de creer un caddie virtuel et j'ai un petit probleme au niveau de la suppression d'article dans ce caddie voici le code qui générer un caddie [ par olivier59263 ] BonjourN'étant un pro de la programmation, j'aimerais avoir un peu d'aide pour générer un caddie.Comment fait-on "simplement" pour ajouter un produit comment faire un caddie ou panier [ par ambre44 ] bonjour,j'ai cr&#233;er un site de vente de perles je suis immatricule et j'ai un bon de commande et j'aimerais avoir une fonction pour mettre dans un Variable de session qui disparait [ par ov3rdoze ] Bonjour à tous.Je souhaiterais ajouter un système de panier sur un site. J'ai donc fait une classe panier aui à priori fonctionne.A l'arrivée sur le s Classe et panier [ par romalafrite ] http://www.phpcs.com/code.aspx?ID=12931Quelqu'un peut me dire comment récupérer le contenu du panier une fois que la sélection a été faite ?visit inte panier session [ par chevaliero ] Bonjour &#224; tous,J'ai r&#233;alis&#233; un carnet (caddie) de voyage pour r&#233;cuperer 2 informations : ID - NOM.Cela fonctionne impeccable en lo panier phpmyshop [ par simon0000 ] bonjour;est ce que quelque un s'ai comment je peux cr&#233;er un pannier pour phpmyshop parceque le panier d'origine ne fonctionne pas .merci d'avance fatal error sur chargement de class [ par fabrice_pi ] salut à tous,j'utilise une classe PHP pour faire mes taleaux en html. depuis peu j'ai l'erreur suivante :Fatal error: Cannot instantiate non-existent PROBLEME DE CLASSE [ par FGONET ] Bonjour,J'ai un petit problème avec une classeJ'utilise la classe suivante :class ToolBox{var $prvId;var $prvTitre;function FillTables(){$locResult[0]


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.