[php]suppression de variable de session

Fermé
woodstock - 6 mai 2007 à 09:41
 zoro - 28 janv. 2008 à 17:25
Bonjour,

je n'arrive pas à générer un code ( et oui je suis débutant) qui me permettrait de supprimer des variables de sessions.

En fait j'ai un premier formulaire avec des cases à cocher et à l'appel de la page suivante je veux supprimer toutes les variables de sessions qui ont un id différent de celui coché (en gros conserver les variables cochées).

Pour le moment j'ai juste reussi à supprimer mes variables de sessions des cases cochées.......or je veux faire l'inverse

Voici mon code:
//suppression des lignes non cochées
if (isset($_POST['choix'])) {
    for ($i = 0, $c = count($_POST['choix']); $i < $c; $i++) {
		  array_splice($_SESSION['panier'], $_POST['choix'][$i], 1);
} 
}

Si quelqu'un peut me donner une idée de code pour faire ca

merci
A voir également:

5 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
6 mai 2007 à 11:07
Salut

Je sais pas si le lien suivant va t'aider mais je te le donne quand même :
https://cyberzoide.developpez.com/php4/faqsession/#unset
0
salut,

merci pour le lien mais en fait la suppression de mes cases à cocher ce fait bien c surtout que je ne voi pas comment selectionner les variables correspondant aux cases non cochées....pour les supprimer
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
6 mai 2007 à 11:22
la boucle for que tu fais ne parcourt que les cases cochées ? Peut-être que ce que tu veux faire est impossible car seules les cases cochées démarrent une variable de session.
0
En fait j'ai un formulaire dans une page avec ce code:
for ($i=0; $i < count($_SESSION['panier']); $i++)
	{
	echo '<tr><td>'.$_SESSION['panier'][$i]['produit'].'</td>
	<td><input type="text" name="qte_'.$i.'"></td>
	<td>'.$_SESSION['panier'][$i]['prix'].'</td>
	<td><input type="checkbox" name="choix[]" value="'.$i.'" checked="checked" ></input> </td> </tr>';									 
}


et je veux dans mon autre page supprimer les variables de sessions qui n'ont pas le meme id que les cases sélectionnées..

Je pense que c'est possible à faire non?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
6 mai 2007 à 11:41
Ah, je comprends mieux.

foreach($_SESSION as $cle => $valeur) {
// $valeur tu parcours toutes les variables de sessions
}
0
woodstock > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
6 mai 2007 à 11:50
Désolé mais je comprend pas tout.....

T'as boucle foreach me permet de sélectionner toutes les sessions qui ont été cochées c ca?
Et pour supprimer celles non cochées?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
6 mai 2007 à 12:06
la boucle foreach va parcourir toutes les variables de sessions existantes. Après à toi de faire des tests pour connaitre si ce sont les cases non cochées lors d'une itération et supprimer le cas échéant
0
Bonsoir,

voila j'ai essayer de changer mon code, de tout faire et ca ne marche toujours pas!!!!je n'arrive pas a supprimer ces variables .

Donc je met mon nouveau code si quelqu'un a une idée....
//on met le status à un pour les valeurs cochées
if (isset($_POST['choix'])) {
for ($j=0; $j < count($_POST['choix']); $j++){
$id = $_POST['choix'][$j];
$_SESSION['panier'][$id]['statut']='1';
}
//suppression des lignes non cochées	
for ($j = 0; $j <count($_SESSION['panier']); $j++) {
//si la variable existe
if (isset($_SESSION['panier'][$j])){
//et que son status est à 0
		if( $_SESSION['panier'][$j]['statut']=='0'){
		//on supprime la variable
		unset($_SESSION['panier'][$j]);
		 //array_splice($_SESSION['panier'], $_POST['choix'][$i], 1);
		}
		}
		}


voila ceci est juste un bout de code de la page qui recoit les informations du formulaire qui contient les cases à cocher.

Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonjour à toutes et à tous, voila je suis entrain de develloper un site de vente en ligne et puis je suis arriver sur le panier, mon probleme c'est la suppression j'arrive à supprimer mais par exemple quand je supprime une ligne ça me supprime celle du dessous.
si vous avez des solutions à me fournir merci de votre comprehension.
0