je souhaite effacer une entrée d'un tableau de session en fonction d'un lien pour avoir une classe
$search_array =$_SESSION['caddie'];
if (array_key_exists($_GET['suprimer'], $search_array)) {
echo $_GET['suprimer'];
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?suprimer='.$idSession.'">Suprimmer</a>';
j'ai essayer array_search()mais sa me renvoie la valeur et non la clé !
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array);
echo $key;
Pour ajouter une entrée au tableau de session je n'ai pas eu de difficulté importante.
// 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;
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?cat='.$_GET['cat']);
exit();
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
<?php // name="cat" envoie la variable $_GET['cat'] dans le header()?>
<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="hidden" name="<?php echo $idCategorie;?>" value="<?php echo $idCategorie;?>" />
<input type="submit" />
</form><?php
}
Le constructeur initialise la session et le tableau de session...
<?php
/***********************************************/
/* ***** class par x@v alias xxxxx ****/
/* ***** [email]xxxxxx[/email] ***************/
/* ***** Ma première classe en php *******/
/* ***** cette classe permet d'avoir un **/
/* ***** panier ou cadie pour un site ****/
/* ***** e-commerce **********************/
/***********************************************/
require_once('class.pdo.php');
class Panier
{
private $caddie;
public function __construct()
{
session_start();
// chargement du caddie
if (isset($_SESSION['caddie']))
$this->caddie = $_SESSION['caddie'];
else
$this->caddie = array();
}
Merci d'avanceedit
eureka
public function suprimeEntreeDansPanier($idSession)
{
$search_array =$_SESSION['caddie'];
if (array_key_exists($_GET['suprimer'], $search_array))
{
$supr=$_GET['suprimer'];
unset($_SESSION['caddie'][$supr]);
header('Location:'.$_SERVER['PHP_SELF']);
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?suprimer='.$idSession.'">Suprimmer</a>';
}