Avatar billede sesam Nybegynder
12. september 2003 - 11:18 Der er 8 kommentarer og
1 løsning

Session array igen?

DEtte her virker fint:
<?php

session_start();

if (is_array($_SESSION['basket'])) {
  $_SESSION['basket'][] = $_GET['sess_value'];
} else {
  $_SESSION['basket'] = array();
  $_SESSION['basket'][] = $_GET['sess_value'];
}

foreach ($_SESSION['basket'] AS $value) {
  echo $value.'<br>';
}
?>
<a href="test_array.php?action=add&sess_value=1&id=1">add</a><br />
<a href="test_array.php?action=add&sess_value=2&id=2">add</a><br />
<a href="test_array.php?action=add&sess_value=3&id=3">add</a><br />
<a href="test_array.php?action=add&sess_value=4&id=4">add</a><br />

Men hvad vis jeg gerne vil ha' en ekstra værdi til knyttet f.eks. hvis jeg klikker på link nr.1 tilføjes værdien 1 fra sess_value kan jeg gemme $id sammen med sess_value?

Forstår i?
Avatar billede erikjacobsen Ekspert
12. september 2003 - 11:22 #1
Du kan putte et array ind i stedet for kun en værdi. Det kunne så have
2 indgange, en til hver af værdierne. Eller du kunne lave en klasse/objekt.
Eller du kunne putte dem ind adskilt af komma: "3,3"
Avatar billede sesam Nybegynder
12. september 2003 - 11:25 #2
Jeg tror faktisk jeg løste problemet selv.............. Hvor vildt...
Kan det her ikke passe:
<?php

session_start();

if (is_array($_SESSION['basket'])) {
  $_SESSION['basket'][0] = $_GET['sess_value'];
  $_SESSION['basket'][1] = $_GET['id'];
} else {
  $_SESSION['basket'] = array();
  $_SESSION['basket'][0] = $_GET['sess_value'];
  $_SESSION['basket'][1] = $_GET['id'];
}

foreach ($_SESSION['basket'] AS $value) {
  echo $value.'<br>';
}
?>
Avatar billede sesam Nybegynder
12. september 2003 - 11:27 #3
Nej øv det virker ikke troede lige at jeg var god... :o(
Avatar billede sesam Nybegynder
12. september 2003 - 11:28 #4
Nu overskrives det der står i arrayet hvergang jeg vælger noget nyt...
Erik: Kan du forklare lidt næreme jeg er ikke den skarpeste kniv i skuffen...
Avatar billede erikjacobsen Ekspert
12. september 2003 - 11:29 #5
Nej, du vil overskrive position 0 og 1 hele tiden.

$_SESSION['basket'][] = $_GET['sess_value'].",".$_GET['id'];

er nok det simpleste. Brug en split eller explode for at adskille på komma
når du skal have tallene ud igen
Avatar billede sesam Nybegynder
12. september 2003 - 11:30 #6
<?php
session_start();
if (is_array($_SESSION['basket'])) {
  $_SESSION['basket'][] = $_GET['sess_value'].",".$_GET['id'];
} else {
  $_SESSION['basket'] = array();
  $_SESSION['basket'][] = $_GET['sess_value'].",".$_GET['id'];
}
foreach ($_SESSION['basket'] AS $value) {
  echo $value.'<br>';
}
?>
Avatar billede sesam Nybegynder
12. september 2003 - 11:30 #7
Ja, jeg fandt ud af det, smid lige et svar så får du point...
Avatar billede erikjacobsen Ekspert
12. september 2003 - 11:35 #8
ookay ;)
Avatar billede sesam Nybegynder
12. september 2003 - 11:37 #9
Takker for hjælpen...
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