Hej
Jeg er igang med at lave en indkoebskurv til mit web. Jeg bruger
sessions i form af arrays til at lave den. Min kode virker
perfekt til naar jeg indsaetter varer, men naar jeg skal til at
slette faar jeg problemer.
Jeg bruger print_r til at se hvad session array'en indeholder, og
ud fra den kan jeg se at array'en vognlan faar slettet den
rigtige vare sprog. Men af en eller anden grund sletter den ikke
vare id(vognid). Istedet faar session array'en vognid en ny ikke
array vaerdi. Den faar vaerdien fra vognid som blev sendt via
url'en.
Jeg kan ikke se hvad jeg goer forkert. Hele min kode som jeg har
skrevet indtil vidre til indkoebskurven er nedenunder.
___________Min inkoebskurv_____________
<?php
$pat = "_^[\d]*\$_";//alntal andet end tal maa ikke vaere her
//checker i if-tag'en: om product skal koebes, om der er sat en
vaerdi til dem,
//om Sproget/tabellen findies i databasen, om der er ikke
oenskede tegn
//Indsaetter vare
if (isset($_GET['koeb']) && $_GET['koeb'] == 1 &&
isset($_GET['vognid']) &&
isset($_GET['vognlan']) && preg_match($pat, $_GET['vognid']) &&
preg_match($pat, $koeb) &&
$_GET['vognlan'] == 'Dansk' || $_GET['vognlan'] == 'Engelsk' ||
$_GET['vognlan'] == 'Svensk')
{
$_SESSION['vognid'][] = $_GET['vognid']; // gemmer vaerdi i
array session
$_SESSION['vognlan'][] = $_GET['vognlan']; // gemmer vaerdi i
array session
print_r($_SESSION['vognid']);
print_r($_SESSION['vognlan']);
// Unregner antal varer og pris ialt
$i = 0;
$pris = 0;
$total = 0;
foreach ($_SESSION['vognid'] as $productID)
{
$session = $_SESSION['vognlan'][$i]; //Faar sprog/tabel fra
array som har samme nummer som vognid
$result = mysql_query("SELECT Pris FROM $session WHERE ID
= $productID");
if (!$result)
{
echo 'Kunne ikke udfoere forspoergsel. Problem: ' .
mysql_error();
exit;
}
while($row = mysql_fetch_assoc($result))
{
$total = $total + 1;
$pris = $pris + $row['Pris'];
} // while
$i++;
} // foreach
$_SESSION['vognpris'] = $pris;
$_SESSION['total'] = $total;
} // if tag'en
//Sletter vare
else if (isset($_GET['koeb']) && $_GET['koeb'] == 2 &&
isset($_GET['vognid']) &&
isset($_GET['vognlan']) && preg_match($pat, $_GET['vognid']) &&
preg_match($pat, $koeb) &&
preg_match($pat, $_GET['vognlannum']) && $_GET['vognlan'] ==
'Dansk' || $_GET['vognlan'] == 'Engelsk' || $_GET['vognlan'] ==
'Svensk')
{
$num = $_GET['vognlannum'];
intval($num);
unset($_SESSION['vognid'][$num]);
$sprog = $_SESSION['vognlan'][$num];
$vognid = $_GET['vognid'];
$result = mysql_query("SELECT Pris FROM $sprog WHERE ID =
$vognid");
if (!$result)
{
echo 'Kunne ikke udfoere forspoergsel. Problem:
'.mysql_error();
exit;
}
while($row = mysql_fetch_assoc($result))
{
$_SESSION['total'] = $_SESSION['total'] - 1;
$_SESSION['vognpris'] = $_SESSION['vognpris'] -
$row['Pris'];
}
unset($_SESSION['vognlan'][$num]);
unset($_SESSION['vognid'][$num]);
print_r($_SESSION['vognid']);
print_r($_SESSION['vognlan']);
}
else
{
echo 'Saet lige nogle vaerdier.';
}
?>
Paa forhaand tak
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials