Accueil > Forum > > > > Panier en PHP
Panier en PHP
mardi 22 septembre 2009 à 05:43:52 |
Panier en PHP

diskotek
|
Allo tout le monde. J'ai un gros problème mais s'en ai pas un..... Je cherche depuis 2 semaines déjà, le moyen d'extraire les produits de mon panier en PHP et à les inscrire dans une page de confirmation dans le but de les recevoir par email. Je ne veux pas de paiement sécurisé ou de paiement par carte de crédit. Mes clients ont un compte net 30 jours qu'il paie par chèque.
La partie panier est construite mais pour le reste aucun forum peut m'aider.
Si quelqu'un connait une solution je pourrait mieux en finir avec ce problème.....
Merci de votre aide à l'avance
|
|
mardi 22 septembre 2009 à 07:24:57 |
Re : AU SECOUR!!!!

walterskinner
|
Bonjour,
Il faut que tu donnes plus d'informations. Par exemple, ton panier est-il stocké dans une base de donnée ou dans une variable de session ?
Donne aussi des exemples de code que tu as utilisé.
A+
Jérôme
|
|
mardi 22 septembre 2009 à 15:36:34 |
Re : Panier en PHP

diskotek
|
Voila le infos
<?php
session_start();
function creationPanier(){
$ret=false;
if (isset( $_SESSION['panier']))
$ret = true;
else
{
$_SESSION['panier']=array();
$_SESSION['panier']['libelleProduit'] = array();
$_SESSION['panier']['qteProduit'] = array();
$_SESSION['panier']['prixProduit'] = array();
$ret=true;
}
return $ret;
}
function ajouterArticle($libelleProduit,$qteProduit,$prixProduit){
if (creationPanier())
{
$positionProduit = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
}
else
{
array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit);
array_push( $_SESSION['panier']['qteProduit'],$qteProduit);
array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
}
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function supprimerArticle($libelleProduit){
if (creationPanier())
{
$tmp=array();
$tmp['libelleProduit'] = array();
$tmp['qteProduit'] = array();
$tmp['prixProduit'] = array();
for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++)
{
if ($_SESSION['panier']['libelleProduit'][$i] !== $libelleProduit)
{
array_push( $tmp['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]);
array_push( $tmp['qteProduit'],$_SESSION['panier']['qteProduit'][$i]);
array_push( $tmp['prixProduit'],$_SESSION['panier']['prixProduit'][$i]);
}
}
$_SESSION['panier'] = $tmp;
unset($tmp);
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function modifierQTeArticle($libelleProduit,$qteProduit){
if (creationPanier())
{
if ($qteProduit > 0)
{
$positionProduit = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] = $qteProduit ;
}
}
else
supprimerArticle($libelleProduit);
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function MontantGlobal(){
$total=0;
for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++)
{
$total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i];
}
return $total;
}
et voici le code panier
<?php
session_start();
include_once("fonctions-panier.php");
if (isset($_GET['action']))
{
$erreur=false;
if(in_array( $_GET['action'],array('ajout', 'suppression', 'refresh')))
$action = $_GET['action'];
else
$erreur=true;
$l = preg_replace('#\v#', '', $_GET['l']);
$q = intval($_GET['q']);
$p = floatval($_GET['p']);
}
elseif(isset($_POST['action']))
{
unset($_GET);
$erreur=false;
if(in_array($_POST['action'],array('ajout', 'suppression', 'refresh')))
$action=$_POST['action'];
else
$erreur=true;
$l = preg_replace('#\v#', '',$_POST['l']);
$p = floatval($_POST['p']);
$QteArticle = array();
$i=0;
foreach ($_POST['QteArticle'] as $contenu){
$QteArticle[$i++] = intval($contenu);
}
}
if ($erreur==false){
switch($action){
Case "ajout":
ajouterArticle($l,$q,$p);
break;
Case "suppression":
supprimerArticle($l);
break;
Case "refresh" :
for ($i = 0 ; $i < count($QteArticle) ; $i++)
{
modifierQTeArticle($_SESSION['panier']['libelleProduit'][$i],round($QteArticle[$i]));
}
break;
Default:
break;
}
}
echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<br><br>
<title>Achat en ligne</title>
</head>
<body>
<img src="file:///C:/Users/bureau/Desktop/Cablotech_logo@150.jpg" width="400" height="88"><br><br>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><b>
<font face="Arial">Service à la clientèle: </font></b></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><b>
<font face="Arial">Téléphone: 450-326-3666</font></b></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><b>
<font face="Arial">Sans frais : 1-877-330-3666</font></b></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><b>
<font face="Arial">Par courriel :
<a href="mailto:soutien@cablotech.ca?subject=Demande de soutien ">
soutien@cablotech.ca</a></font></b></p>
<br><br>
<form method="post" action="panier.php">
<table style="width: 700px">
<tr>
<td colspan="4"><b><font size="4" face="Arial" color="#CC3300">Vos achats </font></b></td >
</tr>
<tr>
<td><b><font size="4" face="Arial" color="#CC3300">Description: </font></b></td>
<td><b><font size="4" face="Arial" color="#CC3300">Quantité: </font></b></td>
<td><b><font size="4" face="Arial" color="#CC3300">Prix Unitaire: $ </font></b></td>
<td><b><font size="4" face="Arial" color="#CC3300">Action: </font></b></td>
</tr>
<?php
if (creationPanier())
{
$nbArticles=count($_SESSION['panier']['libelleProduit']);
if ($nbArticles <= 0)
echo "<tr><td>Votre panier est vide </ td></tr>";
else
{
for ($i=0 ;$i < $nbArticles ; $i++)
{
echo "<tr>";
echo "<td>".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."</ td>";
echo "<td><input type=\"text\" size=\"4\" name=\"QteArticle[]\" value=\"".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."\"/></td>";
echo "<td>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."</td>";
echo "<td><a href=\"".htmlspecialchars("panier.php?action=suppression&l=".rawurlencode($_SESSION['panier']['libelleProduit'][$i]))."\">Supprimer</a></td>";
echo "</tr>";
}
echo "<tr><td colspan=\"2\"> </td>";
echo "<td colspan=\"2\">";
echo "Total : $ ".MontantGlobal();
echo "</td></tr>";
echo "<tr><td colspan=\"4\">";
echo "<input type=\"submit\" value=\"Rafraichir\"/>";
echo "<input type=\"hidden\" name=\"action\" value=\"refresh\"/>";
echo "</td></tr>";
}
}
?>
</table>
</form>
</body>
</html>
<p class="MsoNormal"><font face="Arial" size="2">N/B Les rabais d'entreprise ne sont pas inclus dans les prix inscrits dans ce panier d'achat
Si vous ne connaissez pas le pourcentage de rabais appliqué à votre compte, contactez votre représentant..</font></p>
<p class="MsoNormal"><font face="Arial" size="2">Les prix sont sujets à
changements sans préavis. Les frais de livraison ne sont pas inclus pour les
secteurs hors livraison de Cablotech. Les taxes ne sont pas incluses dans nos
prix et seront calculées en fonction de votre province. Un préposé du service à
la clientèle vous contactera pour confirmer l’acceptation de la commande par
Cablotech. La devise monétaire est le Dollar Canadien.</font></p>
Vous pouvez le tester à l'adresse suivante: www.cablotech.ca/correcteur_testphp.htm Les items sont bien dans mon panier mais je voudrait les recevoir par email avec un bouton envoyer ou quelque chose du genre...
Merci à l'avance
|
|
mercredi 23 septembre 2009 à 02:21:19 |
Re : Panier en PHP

diskotek
|
Oups je pensait que ce n'était pas dificile mais je crois que c'est plus difficile que je ne crois.
Je croyait que c'était la même solution qu'envoyé un formulaire...
Svp je suis bloqué...
Diskotek
|
|
mercredi 23 septembre 2009 à 20:51:30 |
Re : Panier en PHP
|
mercredi 23 septembre 2009 à 21:26:06 |
Re : Panier en PHP

diskotek
|
Pas bon!!!
Je crois que je me suis mal expliquer. Je suis capable de fabriquer un formulaire en php, ce n'est pas le problème.
Mon problème c'est que je veux récupéré les produit inscrit à l'interieur de mon panier et les envoyé a mon adresse email lorsque quelqu'un clique sur envoyé la commande...
Pour les formulaire je suis correcte mais pour le contenant de mon panier..... Je veux tout simplement un bouton checkout et une commande ''envoyé par email à mon adresse.
Merci pour le lien mais je l'avais déjà essayé et il ne fonctionne pas.
J'apprécie vos recherche et je cherche aussi. Aussitot que quelequ'un ou moi le trouve, je vous en fait part assuré.
Diskotek
|
|
vendredi 20 novembre 2009 à 17:16:05 |
Re : Panier en PHP

RideKick
|
Pourquoi ne pas demander directement à l'auteur du tutoriel ?
|
|
Cette discussion est classée dans : problème, secour, panier, paiement
Répondre à ce message
Sujets en rapport avec ce message
for each [ par StiriX ]
Bonjour à tous !Je développe actuellement un panier virtuel et je suis confronté à un petit problème:- Je souhaite faire une session panier qui recevr
Problème de cache navigateur [ par zemele ]
Bonjour, J'ai réalisé un système de panier. Seulement lorsque je supprime un élément de mon panier et qu'ensuite j'actualise la page (F5). L'ancien p
Problème de panier avec $_SESSION [ par ragmo ]
Bonjour à tous,Depuis ce matin j'ai un problème sur un ensemble de scripts de gesion de panier qui marchait [très] bien. Le message est : "Cannot use
récupérer panier après paiement par CB [ par carolet ]
Bonjour, J'ai mis en place un système de paiement en ligne via la solution e-transactions du crédit agricole. Mon problème est que je n'arrive pas à
Problème de serialization - passage par référence ? [ par Evangun ]
Bonjour à tous,j'ai un objet que je souhaite mettre en session sous forme sérialisée, mais le problème est le suivant : $panier = unserialize($_SES
récuperer le chemein d'une image [ par lamiae2 ]
bonjour;j'ai un problème depuis une semaine,pour upload une image dans un pop up.mon chef m'a demandé de créer un formulaire ajouter.php pour remplir
problème de direction vers une autre page php [ par vishwas ]
hafsa_rani[^^confus5] [b]Bonjour tout le monde; J'ai réaliser ce code là pour afficher les enregistrements d'une base de données; le problème c'est qu
Problème affichage images [ par begueradj ]
Azul, J'ai un problème d'affichage de mes photos: quoi que je change les dimensions de mes photos, elles s'affichent toujours comme le veut mon navig
PHP/Mysql : Requete aléatoire [ par debbv ]
Salut à Tous , Je viens par ce message vous soumettre un problème qui me blogue dans la réalisation d'un quiz en ligne que je suis en train de mettre
Problème d'affichage en php/odbc d'une image blob [ par caro384 ]
Bonjour à tous j'ai un petit soucis de programmation en php odbc pour l'affichage d'une image stockée dans un champ blob. L'affichage des autres donn
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|