par
x@v » 27 avr. 2008, 13:04
Je ne savais pas qu'on devait affecter une variable de droite à gauche !
Merci
Par contre je me retrouve devant un problème insoluble (dans ma marre de café

)
j'ai un formulaire qui doit récupérer le résultat en passant par une autre page, pour notamment afficher la valeur de mon caddie instantanément, ce qui qui de cette manière ne fonctionnait pas
visible ici
http://developpus.com/mvc/controlleur.p ... =categorie
// ajoute un formulaire avec le nom et nombre d'article comme variable, grenade comme le fruit ;)
public function setFormulaireAjout($nombreGrenade, $grenade)
{
if (isset($_GET[$grenade]))
{
if(isset($_GET[$nombreGrenade]))
{
$this->caddie[$grenade]=0;
$this->caddie[$grenade]+=$_GET[$nombreGrenade];
}
else
$this->caddie[$grenade] += $_GET[$nombreGrenade];
$_SESSION['caddie'] = $this->caddie;
}?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
<input type="hidden" name="cat" value="<?php echo $_SESSION['idCategorie'];?>" />
<?php //echo 'Nombre de '.$grenade;?>
<select name="<?php echo $nombreGrenade;?>">
<?php for($i=1; $i<=20; $i++)
echo '<option value="'.$i.'">'.$i.'</option>';?>
</select>
<input type="hidden" name="<?php echo $grenade;?>" value="<?php echo $grenade;?>" />
<input type="submit" />
</form><?php
}
Alors je vouvrai pouvoir passer par une sorte de controlleur, mais comme je ne connais pas le nom de mes variables, je coince.
public function testFormulaireAjout($nombreGrenade, $grenade)
{?>
<form action="controlleur.php" method="GET">
<input type="hidden" name="cat" value="<?php echo $_SESSION['idCategorie'];?>" />
<?php //echo 'Nombre de '.$grenade;?>
<select name="<?php echo $nombreGrenade;?>">
<?php for($i=1; $i<=20; $i++)
echo '<option value="'.$i.'">'.$i.'</option>';?>
</select>
<input type="hidden" name="<?php echo $grenade;?>" value="<?php echo $grenade;?>" />
<input type="submit" />
</form><?php
}
public function testFormul($nombreGrenade, $grenade)
{
if (isset($_GET[$grenade]))
{
if(isset($_GET[$nombreGrenade]))
{
$this->caddie[$grenade]=0;
$this->caddie[$grenade]+=$_GET[$nombreGrenade];
}
else
$this->caddie[$grenade] += $_GET[$nombreGrenade];
$_SESSION['caddie'] = $this->caddie;
}
}
EDIT
j'ai réglé une partie du problème en faisant une méthode pour afficher ma session
public function getQuantitePanierProduit()
{
if (isset($_GET['cat']) )
{
if (isset($_SESSION['caddie']) || !empty($_SESSION['caddie']) || $_SESSION['caddie'] != 0)
{?>
Vous avez <?php
foreach ($_SESSION['caddie'] as $idSession => $quantite)
$quantiteTotal+=$quantite;
if ($quantiteTotal != 1)
{
echo $quantiteTotal;?>
articles<br /><a href="./controlleur.php?detruitSession=destruction">vider le panier</a><?php
}
else
{
echo $quantiteTotal;?>
article<br /><a href="./controlleur.php?detruitSession=destruction">vider le panier</a><?php
}
}
else
echo 'Panier vide';
}
}
Le problème c'est que je n'arrive pas à effacer entièrement la session
http://developpus.com/mvc/produit.php?cat=1
il refuse d'effacer mon dernier article insérer ?
dans la page controlleur ces un simples test
if (isset($detruitSession) && !empty($detruitSession))
{
session_destroy();
header('Location:'.$_SERVER['HTTP_REFERER']);
}
A vrai dire je détruit la session et je me demande comment je peux encore avoir le dernier enregistrment dans ma session ?
Merci
