catalogue

Invité
Invité n'ayant pas de compte PHPfrance

17 avr. 2006, 10:28

Pouvez vous me mettre sur la voie j'ai testé pleins de solution en vain et je sais plus quoi faire :shock:

en debut de page j'ai mis:
session_start();

if(!isset($_SESSION['panier'])) 
{
$_SESSION['panier'] = array(); 
/* Subdivision du panier */ 
$_SESSION['panier']['id_article'] = array(); 
}
pour le form j'ai:
<form id="form1" name="form1" method="POST" action="<?php array_push($_SESSION['panier']['id_article'],$row['id_article']); ?>">
et la checkbox :
<input type="checkbox" name="<?php $row['id_article'] ; ?>" value="<?php $row['id_article']; ?>" />
j'ai contrôlé $row['id_article'] n'est pas null, une valeur différente existe pour chaque article.
Et avec var_dump($_SESSION); on vois que le panier existe bien, mais aucune valeur ne rentre dedans.
:roll:

Mammouth du PHP | 19672 Messages

18 avr. 2006, 00:21

C'est original comme méthode, et là, ce n'est même pas un problème de PHP mais de logique et de HTML :

La valeur qu'on inscrit dans un attribut "action" de balise <form>, ce n'est pas une instruction PHP mais une url relative ou absolue. Donc, il faut mettre cette instrcution dans un fichier .php et mettre dans ton attribut action l'adresse de ce fichier.

As-tu eu l'occasion de lire (pas juste survoler rapidement) le tuto sur les paniers que j'ai fait ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 10:01

Si justement hier aprés midi j'ai essayé de l'appliquer à mon cas mais ce que je voulais eviter c'était de passer par des page supplémentaire pour valider ou manipuler mes variables que j'avais (je tentais de mettre) dans ma session ! , non pas par manque de courage mais je voulais que ce soit simple et je me vois bien reparti dans une bonne gallère.

Je met ce que j'ai modifié hier dans mon code (qui donne pas mal d'erreur aprés test):
1ere page de selection avec les checkbox
<input type="checkbox" name="id_article[]" value="<?php $row['id_article'] ; ?>" />
Ma page de résultat:
<?php session_start();
$_SESSION['panier']['id_article'] = $_POST['id_article'];
require_once('../admin/connect.php'); 
require('fonctionpanier.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<?php 
$select = isset($_POST['id_article']) ? $_POST['id_article'] : "";
ajout($select) ;

var_dump($_SESSION); 
?>
</body>
</html>
et ma page de fonction panier simplifier (trop ? :oops: ):
 <?php
function ajout($select) 
{ 
    $ajout = false; 
        if(!verif_panier($select['id_article'])) 
        { 
            array_push($_SESSION['panier']['id_article'],$select['id_article']); 
            $ajout = true; 
        } 
    return $ajout; 
} 

function verif_panier($select) 
{ 
    $present = false; 
    if(array_search($select,$_SESSION['panier']['id_article']) != false) 
    { 
    $present = true; 
    } 
    return $present; 
} 
?>
help ](*,) , merci