Probleme de session

Signaler
Messages postés
4
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
17 janvier 2012
-
Messages postés
4
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
17 janvier 2012
-
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

Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

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.
Messages postés
4
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
17 janvier 2012

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
Messages postés
4
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
17 janvier 2012

Bonjour,

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

Merci encore de m'avoir repondu.

Cordialement