Rechercher : dans
Par :

[variables de session php]

Dernière réponse le 22 mai 2007 à 09:57:59 Edouard, le 22 mai 2007 à 09:39:58 
 Signaler ce message aux modérateurs

Bonjour à tous,

je fais un petit panier pour me familiariser avec les variables de session et je bloque sur un point : le nom de la variable de session.

Je m'explique : j'ai un formulaire qui post dans une autre page deux parametres via l'url $id (le code article) et $quant (la quantité).

Le but du code ci-dessous (de la seconde page) est de récupérer ces paramètres et d'enregistrer en variable de session le code article et la quantité. Mais là ça bloque... Systématiquement il considère qu'il n'y a pas de variable de session (quantiteinitiale = 0) alors que si je post N fois, il devrait faire la somme...

HELP !

Voilà le code de la seconde page : (addtocart.php?id=2&quant=4 par exemple)

<?php
$idarticle = $id;
$quantiteajoutee = intval($quant);

if ( isset ($_SESSION["$id"]) ) {
$quantiteinitiale = intval($_SESSION["$id"]);
}
else {
$quantiteinitiale = 0;}
$quantitetotale = intval($quantiteinitiale) + intval($quantiteajoutee);
$_SESSION["$id"] = $quantitetotale;
?>
Vous venez d'ajouter <?php echo "$quantiteajoutee";?> unité(s) de l'article <? echo "$idarticle";?>.
<br>
Vous aviez une quantité initiale de : <?php echo "$quantiteinitiale";?> unités.
<br>
Soit une quantité totale de : <?php echo "$quantitetotale";?> unités.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [variables de session php] » dans :
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

 Edouard, le 22 mai 2007 à 09:57:59

Merci à tous,

J'ai fini par résoudre mon problème il venait des guillemets et simple quote (comme tjs) : voici le code corrigé pour ceux que ça intéresse :

<?php
session_start();
// $sid = session_id();
// $sname = session_name();
$codearticle = "'$id'";
$quantiteajoutee = intval($quant);
//$typeid = gettype($idarticle);
//$typeajout = gettype($quantiteajoutee);
//echo $typeid;
//echo $typeajout;
echo "$codearticle";

if ( isset ($_SESSION[$codearticle]) ) {
echo"il est passé ici !";
$initialetemp = $_SESSION[$codearticle];
$quantiteinitiale = intval($initialetemp);
}
else {
echo "non il est passé par là!";
$quantiteinitiale = 0;}
echo "mais aussi ici !";
$quantitetotale = intval($quantiteinitiale) + intval($quantiteajoutee);
$_SESSION[$codearticle] = $quantitetotale;
?>
Vous venez d'ajouter <?php echo "$quantiteajoutee";?> unité(s) de l'article <? echo "$id";?>.
<br>
Vous aviez une quantité initiale de : <?php echo "$quantiteinitiale";?> unités.
<br>
Soit une quantité totale de : <?php echo "$quantitetotale";?> unités.

Lecture réalisée :

<?php
// Vérifier si la variable existe puis la lire
if ( isset ($_SESSION[$codearticle]) ) {
$test = $_SESSION[$codearticle]; }
else {
$test = "variable de session non enregistrée"; }

echo "$test";

?>

Répondre à Edouard
Collection CommentÇaMarche.net