Probleme de session

pam006 Messages postés 4 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 17 janvier 2012 - 7 avril 2011 à 10:41
pam006 Messages postés 4 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 17 janvier 2012 - 13 avril 2011 à 09:09
Bonjour,

Je désirerai créer un panier virtuel en php 5. J'ai trouver un super tuto :
http://jcrozier.developpez.com/articles/web/panier/

Sauf que, quand je fais : =>var_dump($_SESSION['panier'])

Voici le resultat :
array(6) {
["refArticle"]=>
array(0) {
}
["tailleArticle"]=>
array(0) {
}
["couleurArticle"]=>
array(0) {
}
["qteArticle"]=>
array(0) {
}
["prixArticle"]=>
array(0) {
}
["verrou"]=>
bool(false)
}

Je ne comprend pas pourquoi !
Est ce que quelqu'un peut m'aider ?
Merci d'avance

3 réponses

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
11 avril 2011 à 14:43
Bonjour,

j'ai pas bien saisie votre souci mais en php lorsqu'on veut utiliser les cession; la page doit être commençer par :
<?php
$session_start();
----
?>

N'importe où. 
mais là où il le faut.
0
pam006 Messages postés 4 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 17 janvier 2012
11 avril 2011 à 15:48
Bonjour,

Je vous explique.
Je voudrais créer un panier virtuel.
Le soucis c'est que, je n'arrive pas a transféré les données du formulaire du catalogue dans les sessions.

Je vous montre mon code :

Voici mon catalogue :

<?php
session_start();
?>

<html>
<form method="POST" action="panier.php">
Choix du coloris:
<label for="kaki">kaki</label>

<label for="marron">marron</label>

<label for="imprimer">imprimer</label>


Quantite:


Choix de la taille:
<label for="s">s</label>

<label for="m">m</label>

<label for="l">l</label>
Prix: (Euros)


</form>
</html>

Voici la creation des session : (fonctions_panier.php)

function Creation()
{
if(!isset($_SESSION['panier']))
{
$_SESSION['panier']=array();
$_SESSION['panier']['refArticle'] = array();
$_SESSION['panier']['tailleArticle'] = array();
$_SESSION['panier']['couleurArticle'] = array();
$_SESSION['panier']['qteArticle'] = array();
$_SESSION['panier']['prixArticle'] = array();
}
return true;
}

Voici l'ajout d'un article : (fonctions_panier.php)

function Ajouter($refArticle, $tailleArticle, $couleurArticle, $qteArticle, $prixArticle)
{
//si le panier existe
if(Creation() && !Verrouiller())
{
//si le l article existe deja on ajoute seulement la quantite
$article_existe = array_search($refArticle, $_SESSION['panier']['refArticle']);

if($article_existe !== false)
{
$_SESSION['panier']['qteArticle'][$article_existe] += $qteArticle;
}
//sinon on ajoute le l'article
else
{
array_push($_SESSION['panier']['refArticle'], $refArticle);
array_push($_SESSION['panier']['tailleArticle'], $tailleArticle);
array_push($_SESSION['panier']['couleurArticle'], $couleurArticle);
array_push($_SESSION['panier']['qteArticle'], $qteArticle);
array_push($_SESSION['panier']['prixArticle'], $prixArticle);
}
}
else
echo 'Un probleme est survenu au niveau de l ajout d\' un article.';
}

Et enfin le panier : (panier.php)

<?php
session_start();
include_once("fonctions_panier.php");

/* Traitement du panier*/
/*recuperation des donnees*/

$erreur = false;
$action = (isset($_POST['action'])? $_POST['action']:null);

if($action !== null)
{
if(!in_array($action, array('ajout', 'suppressionArticle')))
$erreur=true;

$ref = (isset($_POST['refArticle'])? $_POST['refArticle']:null);
$taille = (isset($_POST['tailleArticle'])? $_POST['tailleArticle']:null);
$couleur = (isset($_POST['couleurArticle'])? $_POST['couleurArticle']:null);
$qte = (isset($_POST['qteArticle'])? $_POST['qteArticle']:null);
$prix = (isset($_POST['prixArticle'])? $_POST['prixArticle']:null);
}

if(!$erreur)
{
switch($action)
{
case "ajout":
Ajouter($ref, $taille, $couleur, $qte, $prix);
break;

case "suppressionArticle":
SupprimerArticle($ref);
break;
}
}

echo '<?xml version="1.0" encoding="utf-8"?>';?>
<!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> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Votre panier</title>
</head>


<form method='POST' action='panier.php'>
Votre panier,

----

Reference :,
Taille :,
Couleur :,
Quantite :,
Prix :,
Action :,

<?php
if(Creation())
{
//Compter le nombre de session
$nbArticle=count($_SESSION['panier']['refArticle']);
if($nbArticle <= 0)
echo \"----
Votre panier est vide !, \";
else
{
for($i=0;$i<$nbArticle;$i++)
{
echo \"----
\";
echo \"".htmlspecialchars($_SESSION['panier']['refArticle'][$i]).", \";
echo \", \";
echo \", \";
echo \", \";
echo \"".htmlspecialchars($_SESSION['panier']['prixArticle'][$i]).", \";

echo \"Supprimer, ';
echo \"\";
}
echo \"----
, \";
echo \"";
echo "Total : ";
echo ", \";
}
}
?>

<?php
var_dump($_SESSION['panier']);
?>

</form>

</html>

Et j'obtient ces erreurs :
Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 87

Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 88

Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 89

Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 90

Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 91

Notice: Undefined offset: 0 in C:\wamp\www\****\panier.php on line 93

Notice: Undefined offset: 1 in C:\wamp\www\****\panier.php on line 89

Notice: Undefined offset: 1 in C:\wamp\www\****\panier.php on line 90

Notice: Undefined offset: 1 in C:\wamp\www\****\panier.php on line 91

Notice: Undefined offset: 1 in C:\wamp\www\****\panier.php on line 93

array(6) {
["refArticle"]=>
array(0) {
}
["tailleArticle"]=>
array(0) {
}
["couleurArticle"]=>
array(0) {
}
["qteArticle"]=>
array(0) {
}
["prixArticle"]=>
array(0) {
}
["verrou"]=>
bool(false)
}

Je n'arrive pas a régler ce problème. Je suis dessus depuis 5 jours !
Et merci de m'avoir répondu !
Cordialement
0
pam006 Messages postés 4 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 17 janvier 2012
13 avril 2011 à 09:09
Bonjour,

J'ai regler mon probleme.
Je n'ai plus de soucis.

Merci encore de m'avoir repondu.

Cordialement
0
Rejoignez-nous