lien pour ajouter un article dans panier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : lien pour ajouter un article dans panier

Re: lien pour ajouter un article dans panier

par tom_nameless » 17 oct. 2012, 13:46

C'est quoi ta fermeture iframe qui se balade tout en bas? L'ouverture est faite sur gestion-panier.php?
ah non dsl c'est une erreur... certainement un vieux test ! lol

Re: lien pour ajouter un article dans panier

par asf21 » 17 oct. 2012, 13:20

C'est quoi ta fermeture iframe qui se balade tout en bas? L'ouverture est faite sur gestion-panier.php?

Re: lien pour ajouter un article dans panier

par tom_nameless » 17 oct. 2012, 12:07

Après de nombreux test et de recherches sur php.net j'ai fait une page "fiche produit" relativement basique, avec des boutons d’interaction avec le panier.
<?php 
	session_start();
	include_once("gestion-panier.php");
	
	/* Suppression du panier */
	if(isset($_GET['suppr']))
	{
	vider_panier();
	}else{}
	
	/* Initialisation du panier */ 
	if(!isset($_SESSION['panier']))
	{ 
	$_SESSION['panier'] = array(); 
	/* Subdivision du panier */ 
	$_SESSION['panier']['id_article'] = array(); 
	$_SESSION['panier']['qte'] = array();
	$_SESSION['panier']['taille'] = array(); 	
	$_SESSION['panier']['prix'] = array();
	}
	else{}
		
	/* Initialisation des variables fiche produit */
	$fiche_id_article = 'Jean Lévi\'s';
	$fiche_qte = 0;
	$fiche_prix = 50;
	
	/* Initialisation des fontions d'interaction avec panier */
	if(isset($_POST['id_article']))
	{
		if($_GET['type']=='add'){
			$select = array('id' => $_POST['id_article'], 'qte' => $_POST['qte'], 'taille' => '0', 'prix' => $_POST['prix']);
			ajout($select);
		}
		if($_GET['type']=='modif_qte'){
			modif_qte($_POST['id_article'],$_POST['qte']);
		}
	}
	else{
	}
	
	/* Initialisation bouton si article deja present dans panier */
	if(nombre_article($fiche_id_article)==false){
		$type='add';
		$value_bouton = 'Ajouter au panier';
	}
	else{
		$type='modif_qte';
		$value_bouton = 'Modifier';
		$fiche_qte = nombre_article($fiche_id_article);
	}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>

<form action="?type=<?php echo $type; ?>" id="f8" method="post" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="id_article" id="ctrl_67" value="<?php echo $fiche_id_article; ?>" maxlength="200" />
<input type="text" name="qte" id="ctrl_68" value="<?php echo $fiche_qte; ?>" maxlength="200" />
<input type="hidden" name="prix" id="ctrl_69" value="<?php echo $fiche_prix; ?>" maxlength="200" />
<input type="submit" id="ctrl_70" class="submit" value="<?php echo $value_bouton; ?>" />
</form>

<form action="?suppr=vider" id="f9" method="post" enctype="application/x-www-form-urlencoded">
<input type="submit" id="ctrl_71" class="submit" value="Vider le panier" />
</form>

<?php
echo"<p><strong>TOTAL : ";
print montant_panier();
echo" €</strong></p>";
?>
</iframe>
</body>
</html>
Si vous avez des améliorations à me proposer n'hésitez pas à me faire part de vos remarques.

Re: lien pour ajouter un article dans panier

par tom_nameless » 16 oct. 2012, 18:46

J'ai essayé d'ajouter un article dans mon panier mais ça ne va pas ! !
Avec l'exemple cité avant je suis en train de réécrire la page "gestion-panier.php" et ce n'est pas le but...

Je reviens donc à ma première question comment utiliser les fonctions situées dans la page "gestion-panier.php" en passant par un formulaire ? ? ?
<form action="#" id="ajouter" method="post" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="id_article" id="ctrl_67" value="pull Lévi's" maxlength="200" />
<input type="text" name="qte" id="ctrl_68" value="" maxlength="200" />
<input type="hidden" name="prix" id="ctrl_69" value="50" maxlength="200" />
<input type="submit" id="ctrl_70" class="submit" value="Envoyer" />
</form>

Re: lien pour ajouter un article dans panier

par tom_nameless » 15 oct. 2012, 17:40

ok merci pour l'info,

J'espère qu'un expert en PHP passera ici pour me donner un conseil en développement !

Re: lien pour ajouter un article dans panier

par asf21 » 15 oct. 2012, 16:50

Bah écoutes, j'ai pas le niveau de certains ici mais, perso, c'est ce que j'ai fais sur mon configurateur de pc, j'ai mis des input hidden et le tour est joué sans chercher midi à quatorze heure.
Si bien qu'en récupérant les name de chaque input hidden, ca passe à la moulinette et ca ajoute ou non dans la bdd.
Mais je vois pas le contre de passer en hidden du moment que c'est pas en get, histoire que ce soit propre et moins tentant à bidouiller.
Après, les masters du forum auraient peut-être meilleur solution à te proposer.
Faut dire, avec mon source sur lequel je bosse, j'ai pas eu le temps de simuler le tiens en local...

Re: lien pour ajouter un article dans panier

par tom_nameless » 15 oct. 2012, 14:34

Merci de t’attarder sur mon problème...
la fonction ajout() est dans la page gestion-panier.php qui est appelé dans includes. le code est consultable ici en fin de page : http://jmolline.free.fr/tutos/tuto_panier.html

En fait dans le tuto, il n'explique pas comment faire les liens pour ajouter, supprimer, ...
et je ne trouve pas d'info sur le sujet.

Donc tu me proposes de faire un formulaire pour envoyer les données en POST et ensuite de faire un truc du genre :
$select['id'] = $_POST['id_prod']; 
$select['qte'] =  $_POST['qte']; 
$select['taille'] =  $_POST['taille']; 
$select['prix'] =  $_POST['price']; 
array_push($_SESSION['panier']['id_article'],$select['id']); 
array_push($_SESSION['panier']['qte'],$select['qte']); 
array_push($_SESSION['panier']['taille'],$select['taille']); 
array_push($_SESSION['panier']['prix'],$select['prix']); 
Autre petite question je met quoi dans mon formulaire ?
des champs cachés pour l'id, price et taille
puis un champs visible pour saisir la quantité ? à moins qu'il y ait une autre solution pour éviter de créer des champs cachés ?

Re: lien pour ajouter un article dans panier

par asf21 » 15 oct. 2012, 12:02

Tu ne crée pas de fonction a appeler suite au click ajouter pour ton ajout mysql!
Tu initialise ta session, tu cliques sur ajouter en envoyant avec tes données à ajouter, l'ID de session pour vérif et si vérif=>ok=>routine d'ajout, non?

Par ailleurs, pourquoi tu utilises un lien pour envoyer? dans ton form incluant le ou les articles à ajouter, tu mets un bouton submit, image ou non, et ton form contiendra le onsubmit si tu veux faire une autre action, tout en gardant la page a appeler dans ton action... Enfin je dis ça, chacun son choix! ;)

Re: lien pour ajouter un article dans panier

par tom_nameless » 15 oct. 2012, 10:10

j'ai testé cette méthode mais le panier s'incrémente tt seul sans avoir besoin de cliquer sur le lien :
<?php include 'gestion-panier.php'; ?>
<?php 
	session_start(); 
	/* Initialisation du panier */ 
	$_SESSION['panier'] = array(); 
	/* Subdivision du panier */ 
	$_SESSION['panier']['id_article'] = array(); 
	$_SESSION['panier']['qte'] = array(); 
	$_SESSION['panier']['taille'] = array(); 
	$_SESSION['panier']['prix'] = array(); 
	
	$select['id'] = "cm123456"; 
	$select['qte'] = 2; 
	$select['taille'] = "32"; 
	$select['prix'] = 50; 
	array_push($_SESSION['panier']['id_article'],$select['id']); 
	array_push($_SESSION['panier']['qte'],$select['qte']); 
	array_push($_SESSION['panier']['taille'],$select['taille']); 
	array_push($_SESSION['panier']['prix'],$select['prix']); 
	
	$select['id'] = "vm654321"; 
	$select['qte'] = 1; 
	$select['taille'] = "34"; 
	$select['prix'] = 50; 
	array_push($_SESSION['panier']['id_article'],$select['id']); 
	array_push($_SESSION['panier']['qte'],$select['qte']); 
	array_push($_SESSION['panier']['taille'],$select['taille']); 
	array_push($_SESSION['panier']['prix'],$select['prix']);
	
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<a href="javascript:<?php ajout($select);?>;">Ajouter</A><br />


<?php
print montant_panier();
print ajout();
?>

</body>
</html>

lien pour ajouter un article dans panier

par tom_nameless » 11 oct. 2012, 17:53

Bonjour,

J'ai trouvé un tuto pour faire une gestion de panier qui très bien fait et très bien documenté.
http://jmolline.free.fr/tutos/tuto_panier.html

Par contre rien concernant les liens pour ajouter, supprimer, changer la quantité...
J'ai beau chercher comment créer le lien pour faire appel aux fonctions du panier, je ne trouve rien de concluant !

Pourriez-vous m'indiquer un lien ou bout de code pour que je puisse avancer ?

j'ai tester les codes suivants :
<a href="javascript:;" onclick="ajout('id_article','12100DT','qte','1','taille','défaut','prix','34,95');">Ajouter</A>
<a href="javascript:ajout('id_article','12100DT','qte','1','taille','défaut','prix','34,95');">Ajouter</A>