ragmo
Messages postés10Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention16 juillet 2009
-
15 juil. 2009 à 13:37
ragmo
Messages postés10Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention16 juillet 2009
-
16 juil. 2009 à 13:45
Bonjour à tous,
Je vous expose mon souci :
Sur une page produits j'ai les produits affichés, chacun dans son cadre avec les liens "En savoir plus .." pour afficher toutes les informations disponible sur le produit ; et "Ajouter au panier" permettant d'ajouter directement le produit avec quantité = 1 au panier.
L'ajout au panier de produits en passant par "En savoir plus .." marche très bien. Mais le lien "Ajouter au panier" ne marche pas, car il ne rajoute rien au panier et pourtant je vois les champs et leurs valeurs dans l'URL.
J'ai essayé en vain d'incorporer un formulaire caché avec chacun des produits, puis d'utiliser un seul formulaire en modifiant ses valeurs par JavaScript:'OnClick = ..." ensuite soumettre ce formulaire.
La méthode est POST et l'action est "panier.php" mais rien ne se passe.
Etant donné que je séche. Y a-t-il-quelqu'un qui a une idée là-dessus ?
avec tous remerciements.
Avec le temps ...Avec le temps ... Avec le temps ...
A voir également:
$_POST ne récupère pas les infos d'une page à l'autre
ragmo
Messages postés10Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention16 juillet 2009 16 juil. 2009 à 13:45
Il s'agit d'une faute d'étourderie.. Rien ne sert de rester des heures et des heures derrière son ordi, il faut faire des pauses et parfois de longues pauses.
L'erreur est là : <form id="ajouter" name= "ajouter" action= "traite.php" action ="post">
a remplacer par method ="post".
Désolé et merci d'avoir pris la peine de lire ce post-it.
ragmo
Messages postés10Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention16 juillet 2009 15 juil. 2009 à 22:04
Merci Kohmtark !
Voici le code
I - Partie Javascript dans le Head de la page
function ajouter_au_panier(sid, titre, auteur, prix, repere)
{
document.ajouter.id.value= sid;
document.ajouter.titre.value=titre;
document.ajouter.auteur.value=auteur;
document.ajouter.prix.value=prix;
document.ajouter.repere.value=repere;
// On soumet le formulaire.
document.ajouter.submit();
}
II - Partie Affichage données : Formulaire (Html) + traitement d'affichage en PHP:
<!-- Formulaire pour savoir quoi ajouter au panier -->
<form id ="ajouter" name= "ajouter" action="traite.php" action="post">
</form>
<!-- Les données issues de la requête, Top des ventes, doivent être affichées ici -->
<?
$sql = \"SELECT p.id, p.titre, repere, auteur, complement_auteur, nombrepages, format, editeur,isbn, prix,public,nature,langue, sum(d.qte_com) \";
$sql.= \" FROM produits p, commandes c, details_com d WHERE p.id=c.id AND c.num_com=d.num_com \";
$sql.= \" GROUP BY p.titre, repere, auteur, complement_auteur, nombrepages, format, editeur,isbn, prix,public,nature,langue ORDER BY sum(d.qte_com) DESC\";
$sql.= \" limit 0,5 \";
require('inc_connect.php');
$top = mysql_query( $sql ) or die(mysql_error());
La page appelée en POST "traite.php" est une page où il n'y a que le code ci-dessous, normalement la page appelée est "traitement.php" qui effectue l'ajoute, entre autre, au panier mais comme cela ne marchait pas je voulais simplifier pour essayer de corriger le Pb.
Code traite.php :
<?
$id =$_POST['id'];
$qte=$_POST['qte'];
$titre=$_POST['titre'];
$auteur=$_POST['auteur'];
$prix=$_POST['prix'];
$repere=$_POST['repere'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Traitement du panier</title>
</head>