rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut :

[php]suppression de variable de session

Posté par woodstock, le dimanche 6 mai 2007 à 09:41:53
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
Configuration: Windows XP
Firefox 1.0.7
Répondre à woodstock  Signaler ce message aux modérateurs Aller au dernier message

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le dimanche 6 mai 2007 à 11:07:20
Salut

Je sais pas si le lien suivant va t'aider mais je te le donne quand même :
http://cyberzoide.developpez.com/php4/faqsession/#unset
Répondre à fiddy

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
woodstock, le dimanche 6 mai 2007 à 11:17:19
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
Répondre à woodstock

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le dimanche 6 mai 2007 à 11:22:46
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.
Répondre à fiddy

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
woodstock, le dimanche 6 mai 2007 à 11:31:58
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'].'&­lt;/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?
Répondre à woodstock

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le dimanche 6 mai 2007 à 11:41:42
Ah, je comprends mieux.

foreach($_SESSION as $cle => $valeur) {
// $valeur tu parcours toutes les variables de sessions
}
Répondre à fiddy


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
woodstock, le dimanche 6 mai 2007 à 11:50:23
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?
Répondre à woodstock

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fiddy, le dimanche 6 mai 2007 à 12:06:00
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
Répondre à fiddy

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
woodstock, le dimanche 6 mai 2007 à 21:24:05
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
Répondre à woodstock

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 zoro, le lundi 28 janvier 2008 à 17:25:28
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.
Répondre à zoro
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger Support IPX pour Vista 1.0Support IPX pour Vista - Le protocole IPX/SPX sert à de nombreux anciens jeux pour pouvoir jouer en réseau (Red Alert, Command & Conquer, etc.). ...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger avast! Virus Cleaner 1.0.211avast! Virus Cleaner - Tout le monde connaît l' antivirus gratuit Avast . Son éditeur propose avast! Virus Cleaner, un nettoyeur de virus...Catégorie: Antivirus
Licence: Freeware/gratuit
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Plus de logiciels gratuits sur « [php] supprimer des variables de session »