Ik zit een beetje in de knoei met men sessies
ik heb er verschillende en die zien er zo ui
dus krijg je verschillende sessies bvPHP Code:
$_SESSION['bestellingen'][$id]=$array;
nu wil ik 1 ervan verwijderen maar dat lukt me niet.PHP Code:
$_SESSION['bestellingen']['123']
$_SESSION['bestellingen']['456']
de $id wil ik laten bepalen via $_GET
dus :
iemand een idee ?PHP Code:
$id = $_GET['session_id'];
ik probeerde
maar dit lukt niet en heb al vanalles geprobeerd maar gaat niet :-(PHP Code:
unset($_SESSION['bestellingen'][$id]);
alvast bedankt :-)
- hoe een bepaalde multisession verwijderen
-
27-03-2010, 14:06 #1
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
hoe een bepaalde multisession verwijderen
Laatst aangepast door bernard Schelfout : 27-03-2010 om 14:16
-
-
27-03-2010, 14:41 #2
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Kan je niet dit doen:
PHP Code:
$_SESSION['bestellingen'.$array.''];
//heb je dan niet deze sessie:
$_SESSION['bestellingen123']
// haal je $_GET op
$id = $_GET['id']
//verwijder
unset($_SESSION['bestellingen'.$id.'']);
Heb het niet getest dus kan fouten bevatten.
-
27-03-2010, 14:46 #3
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
dt is al veel logischer idd. tnx zal het zeker uittesten :-)
maar aangezien je ze zo kan aanmaken zou je je toch ook moeten kunnen verwijderen?
-
27-03-2010, 14:55 #4
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Iets anders simpelers:
PHP Code:
$_SESSION
['bestellingen'] = $id;
//dan heb je deze sessie
$_SESSION['bestellingen'] met waarde 123
//verwijder
unset($_SESSION['bestellingen']);
-
27-03-2010, 15:47 #5
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
ja maar ligt iets moeilijker dan dat..
ik zou liefst alles behouden hoe het is :-)
en enkel $_SESSION['bestellingen'][$id];
kunnen verwijderen
want $id is een string dat wordt opgebouwd uit een array van een 7 tal checkboxen met value 1 tm 7
dus kunnen er 7*7*7*7*7*7*7 verschillende combinaties zijn van $id ...
bv $id = '1234567' of $id = '5326874'
voor de rest werkt alles tot nu toe goed mee voor het verdere verloop van het script
alleen zou ik in staat moeten zijn dus een sessie te beeindigen met een bepaal $id
Het $id zit als 8e element in de sessie array, kan em dus ook opvragen om verdere bewerkingen
uit te voeren ... dit alles werkt maar het verwijderen van een specifieke sessie lukt niet...
zijn wellicht simpelere manieren, maar goed, alles is nu zo goed als klaar en werkend en zie het niet zitten om alles aan te passen.
moet dat maandag afhebben (examen)
Laatst aangepast door bernard Schelfout : 27-03-2010 om 15:53
-
27-03-2010, 15:52 #6
- Berichten
- 330
- Lid sinds
- 18 Jaar
Het lijkt mij niet verstandig om een array als key te gebruiken van een array.
Is dit niet beter:
$id = 3242;
$_SESSION['bestellingen'][$id] = array();
Edit: Ok, duidelijk. De $_SESSION['bestellingen'] is een array, dus je kan gewoon met unset($_SESSION['bestellingen'][$id]); de key $id verwijderen uit de array (zie ook: http://www.php.net/manual/en/language.types.array.php)Laatst aangepast door Arjen Rademaker : 27-03-2010 om 15:59
-
27-03-2010, 15:59 #7
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
onmogelijk lol
vb1 : array('8', '2','1','2','3','4','5','6','7','821234567')
maar kan ook
vb2 : array('8', '2','1','2','3','82123')
EDIT :
unset($_SESSION['bestellingen'][$id]);
ja maar lukt niet... worden niet weggehaald
gebeurd niets , blanco scherm...
PHP Code:<?php
$id = $_GET['record'];
unset($_SESSION['bestellingen'][$id]);
//header("Location: ".$rootpath."/pizza/index.php?action=4");
?>
Laatst aangepast door bernard Schelfout : 28-03-2010 om 09:59
-
27-03-2010, 16:07 #8
- Berichten
- 330
- Lid sinds
- 18 Jaar
je kan toch ook met php de verschillen in arrays bepalen (en dus kijken of er verschillen zijn)? Maar aangezien je geen aanpassingen wilt doen is het natuurlijk wat lastiger.
En je moet natuurlijk ook uitkijken dat je wel de array's op dezelfde manier ordent, anders krijg je verschillende id's.
En even voor de duidelijkheid: De $_SESSION['bestellingen'][$id] bevat in het eerste voorbeeld array('8', '2','1','2','3','4','5','6','7','821234567') ?
Dus $_SESSION['bestellingen'][0] = array('8', '2','1','2','3','4','5','6','7','821234567'); ?
Want je maakt het jezelf wel heel moeilijk op deze manier.
Tip: Heb je wel eens een print_r($_SESSION['bestellingen']) gedaan om te kijken wat er precies in je array zit (hoe je array is opgebouwd) en hoe je het kan oplossen (werkt vaak erg verhelderend).
Ps: Irritant dat Enters niet goed worden weergegeven hier op Sitedeals :(
-
27-03-2010, 16:10 #9
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
$_SESSION['bestellingen'][821234567] = array('8', '2','1','2','3','4','5','6','7','821234567');
lijkt me :-)
i know.... hahahaha
ga nu eten bij familie ...morgen een nieuwe dag vol kopzorgen :-) lol
kwil je heel erg bedanken voor de hulp...
-
27-03-2010, 16:11 #10
- Berichten
- 330
- Lid sinds
- 18 Jaar
Dit gaat dus heel lastig worden inderdaad. Want waar zet je de aantallen neer van dezelfde pizza? Want als iemand nog een pizza besteld met dezelfde samenstelling dan wordt de vorige pizza overschreven met hetzelfde id.
Waarom laat je je array niet oplopen zoals:
$_SESSION['bestellingen'][][$id] = array(blabla);
(weet trouwens niet of dat gaat ([][$id]), maar zo krijg je dus allemaal unieke arrays en kan je daarna kijken of er meer van dezelfde pizza in de array voorkomen)
-
27-03-2010, 16:14 #11
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
is idd. waar, oops... had ik ni aan gedacht lol omg
was ik maar bij men cookies gebleven ;-)
ma op zich geeft dat niet... t'is maar een demo ...
t'is ni zo dat het online gaat staan dus...
EDIT :
jij gaat het nog wa moeilijker maken :-)
nog eens een extra dimentie... straks gaat mijn pizzashop nog opgekocht worden door een militaire instantie voor Artificial intelligence te testen :-) hahaha
-
27-03-2010, 16:15 #12
- Berichten
- 330
- Lid sinds
- 18 Jaar
Mocht je nog hulp nodig hebben dan hoor ik dat wel ;)
Sessions zijn voor dit soort zaken trouwens beter aangezien je eenvoudig met arrays kan werken. Cookies beperkt de manier van opslag. Dus dat is wel een goede keuze geweest hoor :)
Edit: haha, het wordt er alleen maar makkelijker door hoor :). En een print_r($array) doet wonderen (wel even kijken in je broncode om een goede opmaak te zien)
-
28-03-2010, 12:23 #13
- Berichten
- 1.034
- Lid sinds
- 18 Jaar
bedankt maar is gelukt.... was session_start() vergeten :-)
Daarom haalde hij ze dus niet weg
... nu lukt unset($_SESSION['bestellingen'][$id]); perfect
:-)
hel erg bedankt voor de hulp allesinds
ja met cookies leek het me ook moeilijk ma ik dacht de cookie op te bouwen met
1+2+3+4 en dan scheiden op + ... of zo...
nog even enkele dingen aanpassen (validatie en t'een en t'ander in functie's onderbrengen) en klaar...
eindelijk :-) k heb het gelukkig niet in oop geprobeerd want anders had ik denk ik nog even werk gehad...
(door mijn onkunde ;-)Laatst aangepast door bernard Schelfout : 28-03-2010 om 12:31
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic