Avatar billede tsearex999 Nybegynder
20. maj 2003 - 10:43 Der er 1 løsning

HJÆLP!!! slet funktion i indkøbsvognen virker ikke

Jeg har brug for ekspert hjælp! Jeg har problemmer med at få slet funktionen af en enkelt varer til at virke i denne indkøbsvogn. Det ser ved første øjekast ud til at det virker. Når man har valgt 2 eller 3 varer i indkøbsvognen og derefter forsøger at slette en enkelt varer, så ser det ud som om at den sletter den fra kurven men når man så trykker bestil og man går til næste side står den vare som man har slettet fra kurven der også. Jeg er næsten sikker på at det er fordi at sessions variablerne ikke bliver slettet eller nulstillet. Jeg har lavet en funktion som sletter hele kurven på en gang og det virker.

ER DER NOGEN SOM KAN HJÆLPE?

Filen:cart2.php
<?
session_start();
$basket=new basket();
?><br><?

/* catch cart actions */
if (isset($_GET['deletecart']) && $_GET['deletecart'])
$basket->delete_cart();
if (isset($_GET['deleteitem']) && $_GET['deleteitem'])
$basket->delete_item($_GET['iid']);
if (isset($_GET['addtocart']) && $_GET['addtocart']) {
$basket->add_item($_GET['iid'],$_GET['iname'],$_GET['iprice'],$_GET['ivarenr']);
}


?>
<body bgcolor="FFFFcc" text="330066" link="330066" vlink="330066" alink="330066">
<h2>Katalog</h2>
<table border="1" cellspacing="2" cellpadding="4">
  <tr>
    <td><b>Type</b></td>
    <td><b>St&oslash;rrelse</b></td>
    <td width="45"><b>Pris</b></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="65">IBM PC</td>
    <td> <div align="right">
        <select name="select" widht=50>
          <option>L</option>
          <option>XL</option>
        <option>XXL</option>
        </select>
      </div></td>
    <td >
      <div align="right">1000 Kr</div>
    </td>
    <td >
      <div align="right"><a href="cart2.php?addtocart=1&iid=001&iname=IBM PC&iprice=1000&ivarenr=1234" style="text-decoration: none"><img src="/images/caddy_off.gif" alt="Tilføj varen til indkøbsvognen" border="0" hspace="5"></A></div>
    </td>
 
  </tr>
  <tr>
    <td >Printer</td>
    <td><div align="right">
      <select name="select">
        <option>L</option>
          <option>XL</option>
        <option>XXL</option>
        </select></div>
    </td>
    <td> <div align="right">500 Kr</div></td>
    <td>
      <div align="right"><a href="cart2.php?addtocart=2&iid=002&iname=Printer&iprice=500&ivarenr=2345" style="text-decoration: none"><img src="/images/caddy_off.gif"  alt="Tilføj varen til indkøbsvognen" border="0" hspace="5"></A></div>
    </td>
 
  </tr>
  <tr>
    <td>Netkort</td>
    <td><div align="right">
        <select name="select">
          <option>L</option>
          <option>XL</option>
        <option>XXL</option>
        </select></div>
    </td><td>
      <div align="right">50&nbsp;Kr</div>
    </td>
    <td>
      <div align="right"><a href="cart2.php?addtocart=2&iid=003&iname=Netkort&iprice=50&ivarenr=3456" style="text-decoration: none"><img src="/images/caddy_off.gif"  alt="Tilføj varen til indkøbsvognen" border="0" hspace="5"></A></div>
    </td>
   
  </tr>
</table>
<br>
<hr>
<h2>Indkøbsvogn</h2>
<?
$basket->show_cart();

class basket {
// constructor
function basket () {
// set starting count
if (!isset($_SESSION["item_count"]))
$_SESSION["item_count"] = 0;
}

function add_item ($id,$name,$price,$varenr) {
if ($_SESSION["item_count"] > 0) {
$found=false;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
if ($_SESSION["items"][$i][0] == $id) {
$_SESSION["items"][$i][4]++;
$found=true;
}
}
if (!$found) {
// add new item to existing basket
$_SESSION["items"][$_SESSION["item_count"]] = array($id,$name,$price,$varenr,1);
$_SESSION["item_count"]++;
}
} else {
// add first item to basket
$_SESSION["items"][0] = array($id,$name,$price,$varenr,1);
$_SESSION["item_count"]=1;
}
}


function show_cart() {
if (isset($_SESSION["item_count"]) && $_SESSION["item_count"] > 0) {
echo "<table border=\"1\" width=\"30%\">";
echo "<tr><td><b>Type &nbsp;</b></td><td><b>Varenr &nbsp;</b></td><td><b>pris&nbsp;</b></td><td><b>Antal&nbsp;</b></td><td><b>subtotal&nbsp;</b></td><td>&nbsp;</td></td></tr>";
$total = 0;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
echo "<td>";
echo $_SESSION["items"][$i][1]."</td>";  // type feltet

echo "<td >".$_SESSION["items"][$i][3]."</td>";  // varenummer feltet
echo "<td>".$_SESSION["items"][$i][2]."</td>";  //pris feltet
$subtotal = $_SESSION["items"][$i][2] * $_SESSION["items"][$i][4];
echo "<td>".$_SESSION["items"][$i][4]."</td>"; //antal
echo "<td align=\"right\">$subtotal</td>"; //subtotal
echo "<td><center><a href=\"cart2.php?deleteitem=1&iid=".$_SESSION["items"][$i][0]." \"><img src=\"/images/recycle.gif\" alt=\"Fjern varen fra indkøbsvognen\" width=\"17\" height=\"17\" hspace=\"5\" vspace=\"2\" border=\"0\"></a></center></td>";
echo "</tr>";
$total += $subtotal;
}
echo "<tr><td><b>total</b></td><td align=\"right\" colspan=\"4\">$total</td><td>&nbsp;</td></tr></table>";
echo "<form name=\"form1\" method=\"post\" action=\"bestil.php\">";

$varer1_dato= date("d-m-y");
$varer2_dato = date("d-m-y");
$varer3_dato = date("d-m-y");
$varer1_bruger = "thn";
$varer2_bruger = "thn";
$varer3_bruger = "thn";

// varer 1
$varer1_id = $_SESSION["items"][0][0];
$varer1_type = $_SESSION["items"][0][1];
$varer1_pris = $_SESSION["items"][0][2];
$varer1_varenr = $_SESSION["items"][0][3];
$varer1_antal = $_SESSION["items"][0][4];
$subtotal1 = $_SESSION["items"][0][2] * $_SESSION["items"][0][4];

//Det gør jeg for at få "rene" nuller med over på neste side
if ($subtotal1 == 0) {
$varer1_dato = "";
$varer1_bruger = "";
$subtotal1 = "";
}

// varer 2
$varer2_id = $_SESSION["items"][1][0];
$varer2_type = $_SESSION["items"][1][1];
$varer2_pris = $_SESSION["items"][1][2];
$varer2_varenr = $_SESSION["items"][1][3];
$varer2_antal = $_SESSION["items"][1][4];
$subtotal2 = $_SESSION["items"][1][2] * $_SESSION["items"][1][4];

//Det gør jeg for at få "rene" nuller med over på neste side
if ($subtotal2 == 0) {
$varer2_dato = "";
$varer2_bruger = "";
$subtotal2 = "";
}

// varer 3
$varer3_id = $_SESSION["items"][2][0];
$varer3_type = $_SESSION["items"][2][1];
$varer3_pris = $_SESSION["items"][2][2];
$varer3_varenr = $_SESSION["items"][2][3];
$varer3_antal = $_SESSION["items"][2][4];
$subtotal3 = $_SESSION["items"][2][2] * $_SESSION["items"][2][4];

//Det gør jeg for at få "rene" nuller med over på neste side
if ($subtotal3 == 0) {
$varer3_dato = "";
$varer3_bruger = "";
$subtotal3 = "";
}

//varer 1
echo "<input type=\"hidden\" name=\"varer1_id\" value=\"$varer1_id\">";
echo "<input type=\"hidden\" name=\"varer1_type\" value=\"$varer1_type\">";
echo "<input type=\"hidden\" name=\"varer1_pris\" value=\"$varer1_pris\">";
echo "<input type=\"hidden\" name=\"varer1_varenr\" value=\"$varer1_varenr\">";
echo "<input type=\"hidden\" name=\"varer1_antal\" value=\"$varer1_antal\">";
echo "<input type=\"hidden\" name=\"varer1_total\" value=\"$subtotal1\">";
echo "<input type=\"hidden\" name=\"varer1_dato\" value=\"$varer1_dato\">";
echo "<input type=\"hidden\" name=\"varer1_bruger\" value=\"$varer1_bruger\">";

//varer 2
echo "<input type=\"hidden\" name=\"varer2_id\" value=\"$varer2_id\">";
echo "<input type=\"hidden\" name=\"varer2_type\" value=\"$varer2_type\">";
echo "<input type=\"hidden\" name=\"varer2_pris\" value=\"$varer2_pris\">";
echo "<input type=\"hidden\" name=\"varer2_varenr\" value=\"$varer2_varenr\">";
echo "<input type=\"hidden\" name=\"varer2_antal\" value=\"$varer2_antal\">";
echo "<input type=\"hidden\" name=\"varer2_total\" value=\"$subtotal2\">";
echo "<input type=\"hidden\" name=\"varer2_dato\" value=\"$varer2_dato\">";
echo "<input type=\"hidden\" name=\"varer2_bruger\" value=\"$varer2_bruger\">";

//varer 3
echo "<input type=\"hidden\" name=\"varer3_id\" value=\"$varer3_id\">";
echo "<input type=\"hidden\" name=\"varer3_type\" value=\"$varer3_type\">";
echo "<input type=\"hidden\" name=\"varer3_pris\" value=\"$varer3_pris\">";
echo "<input type=\"hidden\" name=\"varer3_varenr\" value=\"$varer3_varenr\">";
echo "<input type=\"hidden\" name=\"varer3_antal\" value=\"$varer3_antal\">";
echo "<input type=\"hidden\" name=\"varer3_total\" value=\"$subtotal3\">";
echo "<input type=\"hidden\" name=\"varer3_dato\" value=\"$varer3_dato\">";
echo "<input type=\"hidden\" name=\"varer3_bruger\" value=\"$varer3_bruger\">";

echo "<input type=\"hidden\" name=\"total\" value=\"$total\">";
?>
<table border="0"><tr>
<td><? echo "<input type=\"submit\" name=\"Submit\" value=\"Til kassen\">"; echo "</form>"; ?></td>
<td><? echo "<form  name=\"delete\" action = \"?mode=form\" method=\"post\">";
echo "<input type=\"submit\" name=\"Submit\" value=\"Delete Cart\">";
echo "</form>"; ?> </td></tr></table>
<?
}
else {
echo "Ingen varer";
}
}

//slet varene enkeltvis
function delete_item($id) {
$pos=0;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
if ($_SESSION["items"][$i][0] != $id) {
$_SESSION["items"][$pos] = $_SESSION["items"][$i];
$pos++;
}
}
$_SESSION["item_count"]--;
}  //høre til slet varene enkeltvis
} 

//slet hele indkøbsvognen kald
if ($_GET['mode'] == "form") {
  cart();
} //høre til slet hele indkøbsvognen kald

//Delete alt i indkøbsvognen funktion
function cart(){
session_destroy();
echo "<script>location.href='cart2.php';</script>";
} //høre til Delete alt i indkøbsvognen funktion

echo ($_SESSION["items"][0][0]);?><br><?
echo ($_SESSION["items"][0][1]);?><br><?
echo ($_SESSION["items"][0][2]);?><br><?
echo ($_SESSION["items"][0][3]);?><br><?
echo ($_SESSION["items"][0][4]);?><br><?

echo ($_SESSION["items"][1][0]);?><br><?
echo ($_SESSION["items"][1][1]);?><br><?
echo ( $_SESSION["items"][1][2]);?><br><?
echo ($_SESSION["items"][1][3]);?><br><?
echo ($_SESSION["items"][1][4]);?><br><?

echo ($_SESSION["items"][2][0]);?><br><?
echo ($_SESSION["items"][2][1]);?><br><?
echo ( $_SESSION["items"][2][2]);?><br><?
echo ($_SESSION["items"][2][3]);?><br><?
echo ($_SESSION["items"][2][4]);?><br><?
?>






filen:bestil.php
<html>
<head>
<title>Hardwarebestilling</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script>

function printWindow(){
  bV = parseInt(navigator.appVersion)
  if (bV >= 4) window.print()
}

</script>
</head>

<body bgcolor="FFFFcc" text="330066" link="330066" vlink="330066" alink="330066"><div align="center"><br>
<strong><font size="5">Godkend din Hardwarebestilling</font></strong>
<br><br><br>
  <form name="form1" method="post" action="godkend_mysql.php"><br>
<?
$totalpris = ($varer1_total + $varer2_total + $varer3_total);
?><table border="1" cellpadding="2" cellspacing="2">
      <tr>
        <td><strong>Navn</strong></td>
        <td><strong>Varenummer</strong> </td>
        <td><strong>Antal</strong> </td>
        <td><strong>Pris</strong></td>
        <td><strong>Total</strong> </td>
       
      </tr>
      <tr>
        <td> <?echo "$varer1_type"; ?> &nbsp; </td>
        <td> <?echo "$varer1_varenr"; ?> &nbsp; </td>
        <td> <?echo "$varer1_antal"; ?> &nbsp; </td>
        <td> <div align="right"> <?echo ($varer1_pris); ?> &nbsp;Kr</div></td>
        <td> <div align="right"> <?echo ($varer1_total); ?> &nbsp;Kr</div></td>
       
      </tr>
      <tr>
        <td> <?echo "$varer2_type"; ?> &nbsp; </td>
        <td> <?echo "$varer2_varenr"; ?> &nbsp; </td>
        <td> <?echo "$varer2_antal"; ?> &nbsp; </td>
        <td> <div align="right"> <?echo ($varer2_pris); ?> &nbsp;Kr</div></td>
        <td> <div align="right"> <?echo ($varer2_total); ?> &nbsp;Kr</div></td>
       
      </tr>
      <tr>
        <td> <?echo "$varer3_type"; ?> &nbsp; </td>
        <td> <?echo "$varer3_varenr"; ?> &nbsp; </td>
        <td> <?echo "$varer3_antal"; ?> &nbsp; </td>
        <td> <div align="right"> <?echo ($varer3_pris); ?> &nbsp;Kr</div></td>
        <td> <div align="right"> <?echo ($varer3_total); ?> &nbsp;Kr</div></td>
     
      </tr>
      <tr>
        <td colspan="4"><b>Total</b></td>
        <td> <div align="right"> <?echo ($totalpris); ?> Kr</div></td>
       
      </tr>
      <tr>
        <td colspan="6"> <div align="right">
            <table border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td height="5"></td>
              </tr>
              <tr>
                <td><input type="submit" name="Submit" value="Godkend"></td>
              </tr>
              <tr>
                <td height="5"></td>
              </tr>
            </table>
          </div></td>
      </tr>
    </table>
    <?
echo "<input type=\"hidden\" name=\"varer1_id\" value=\"$varer1_id\">";
echo "<input type=\"hidden\" name=\"varer1_type\" value=\"$varer1_type\">";
echo "<input type=\"hidden\" name=\"varer1_pris\" value=\"$varer1_pris\">";
echo "<input type=\"hidden\" name=\"varer1_varenr\" value=\"$varer1_varenr\">";
echo "<input type=\"hidden\" name=\"varer1_antal\" value=\"$varer1_antal\">";
echo "<input type=\"hidden\" name=\"varer1_subtotal\" value=\"$varer1_total\">";
echo "<input type=\"hidden\" name=\"varer1_dato\" value=\"$varer1_dato\">";
echo "<input type=\"hidden\" name=\"varer1_bruger\" value=\"$varer1_bruger\">";

echo "<input type=\"hidden\" name=\"varer2_id\" value=\"$varer2_id\">";
echo "<input type=\"hidden\" name=\"varer2_type\" value=\"$varer2_type\">";
echo "<input type=\"hidden\" name=\"varer2_pris\" value=\"$varer2_pris\">";
echo "<input type=\"hidden\" name=\"varer2_varenr\" value=\"$varer2_varenr\">";
echo "<input type=\"hidden\" name=\"varer2_antal\" value=\"$varer2_antal\">";
echo "<input type=\"hidden\" name=\"varer2_subtotal\" value=\"$varer2_total\">";
echo "<input type=\"hidden\" name=\"varer2_dato\" value=\"$varer2_dato\">";
echo "<input type=\"hidden\" name=\"varer2_bruger\" value=\"$varer2_bruger\">";

echo "<input type=\"hidden\" name=\"varer3_id\" value=\"$varer3_id\">";
echo "<input type=\"hidden\" name=\"varer3_type\" value=\"$varer3_type\">";
echo "<input type=\"hidden\" name=\"varer3_pris\" value=\"$varer3_pris\">";
echo "<input type=\"hidden\" name=\"varer3_varenr\" value=\"$varer3_varenr\">";
echo "<input type=\"hidden\" name=\"varer3_antal\" value=\"$varer3_antal\">";
echo "<input type=\"hidden\" name=\"varer3_subtotal\" value=\"$varer3_total\">";
echo "<input type=\"hidden\" name=\"varer3_dato\" value=\"$varer3_dato\">";
echo "<input type=\"hidden\" name=\"varer3_bruger\" value=\"$varer3_bruger\">";

echo "<input type=\"hidden\" name=\"total\" value=\"$total\">";
?> 
  </form>
  <table border="0" cellspacing="9" cellpadding="6">
    <tr>
      <td><a href="java script:printWindow()"><img src="images/print.gif" width="30" height="34" border="0"></a></td>
      <td><a href="http://ph-vpn/thomas/varekurv/Test%20folder/cart2.php"><img src="images/tilbage.gif" width="31" height="30" border="0"></a>
      </td>
    </tr>
  </table>
  <br>
</div></body>
</html>
Avatar billede tsearex999 Nybegynder
20. maj 2003 - 12:58 #1
Jeg havde glem session_start(); på side 2, jeg tager mine point igen
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