Avatar billede T101 Novice
22. april 2004 - 12:50 Der er 10 kommentarer og
1 løsning

destroy_session hvordan?

Er det muligt at fjerne en variabel i sin session? Kan man bruge destroy_session? Eller er der noget andet der kan bruges?

Det skulle fungere nogenlunde sådan:

session_destroy('buy'.$del);

Selvom den linie altså ikke virker ...
Avatar billede mcgoat Nybegynder
22. april 2004 - 12:53 #1
bare gå ind og nulstil den variabel i din session $_SESSION['minvar'] = "";
og så derefter reindeksere med array_splice
Avatar billede dennismp Nybegynder
22. april 2004 - 12:58 #2
unset($_SESSION['minvar']);
Avatar billede T101 Novice
24. april 2004 - 15:33 #3
Undskyld jeg ikke lige har været tilbage før nu ...

Jeg har siddet og arbejdet med problemet i et stykke tid nu ...

Begge muligheder virker fint men det skaber en del problemer for mig ...

Jeg beskriver lige problemet (selv om det måske er lidt kompliceret) hvis en af jer havde en smart løsning ville jeg være meget glad.

Jeg har min session variabler:

buy  = vare1
buy1 = vare2
buy2 = vare3
buy3 = vare4
buy4 = vare5

osv ...

Der er en counter der med disse variabler ville være '5' ...

Session variablerne bliver udskrevet ved hjælp af en 'for' lykke som køre fra i=0 til i=antal (som er 5 i dette tilfælde) ...

Lad os så sige at jeg fjerne eller nulstiller variablen 'buy3' ... På samme tid nedsætter jeg antal til '4' da der jo er blevet slettet en variabel ...

Her kommer problemet ... I den 'for' lykke vil der nu forsøges udskrevet:

buy
buy1
buy2
buy3

Det betyder at den forsøger at udskrive 'buy3' som enten ikke eksistere eller også er blevet nulstillet ...
Det betyder ligeledes at den nu ikke længere udskriver 'buy4' selvom der stadig står noget i denne ..

Nogen der kan komme på en smart løsning?

Jeg vil gerne give 60 xtra point for en løsning ... Hvis gerne bare vil have point nu skal i bare sige til ...
Avatar billede dennismp Nybegynder
24. april 2004 - 16:21 #4
Hvorfor ikke gemme det sådan

buy[0] = vare1
buy[1] = vare2
buy[2] = vare3
...

Hvis du så sletter buy[1], så vil du stadig kunne se indholdet med en foreach($_SESSION['buy'] as $vare ) { ... }.. uden problemer
Avatar billede T101 Novice
24. april 2004 - 18:35 #5
Sådan?

$_SESSION['buy['.$_SESSION['count']++']']=$item;

Og så uskrive sådan?

foreach($_SESSION['buy'] as $item){ //Her hentes fra database }
Avatar billede dennismp Nybegynder
24. april 2004 - 18:39 #6
nix

if(! isset($_SESSION['buy']) || !is_array($_SESSION['buy']) ) // Sikre at array'et findes
  $_SESSION['buy'] = array();

$_SESSION['buy'][]=$item; //tilføj til array

foreach($_SESSION['buy'] as $item) {
  print "Item $item<br />";
}
Avatar billede T101 Novice
24. april 2004 - 22:00 #7
Det ser faktisk utroligt pænt ud i forhold til hvad jeg havde før, men så er jeg så tilbage hvor jeg startede, hvor jeg skal regne ud hvordan jeg sletter en session entry igen ...

<A HREF='workItem.php?del=".$i."'>Fjern</A>

Den fungere ihvertfald ikke mere fordi $i som var i 'for' lykken så ikke eksistere mere ... Hvad kan jeg sætte ind istedet for $i?

Jeg prøvede denne her som den egentlige sletning men jeg ved ikke om den kan bruges:

unset($_SESSION['buy['.$del.']']);
Avatar billede dennismp Nybegynder
25. april 2004 - 00:12 #8
sådan her: unset($_SESSION['buy'][$del]);
Avatar billede T101 Novice
25. april 2004 - 01:16 #9
Ok ...

Men i linket: <A HREF='workItem.php?del=".$VARIABLE."'>Fjern</A>

Hvad sætter jeg hvor der står $VARIABLE for at $del bliver sat lige med f.eks '1' hvis sessions variablen der skal slettes er buy[1] ...
Avatar billede dennismp Nybegynder
25. april 2004 - 01:20 #10
Der hvor du laver de links, kan du ikke bare bruge foreach ?.

foreach($_SESSION['buy'] as $key => $item) {
  print '<A HREF="workItem.php?del="'.$key.'">Fjern</A>';
}
Avatar billede T101 Novice
26. april 2004 - 11:34 #11
Det hele virker ... Opretter et bonus spørgsmål ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester