PHP beginner |
|
ik heb een winkelwagentjesssyteem en die oet het bijna goed.
Het volgende werkt niet:
Hij update de totaal prijs niet als je het aantal updated!.
Wanneer je het aantal wijzigd en je gaat verder winkelen en je komt weer terug dan staat het aantal weer op 0 dus hij onthoud het niet.
Wat is hier fout aan?
<?php
include("titels.php");
if($_GET['page'] && !$_GET['status']){
$prijs = number_format($prijs, 2, '.', '');
$totaal = number_format($totaal, 2, '.', '');
$totaal= 0;
$aantal= $_SESSION['bestelling'];
?>
<script language="javascript" type="text/javascript"> var buttons=0; </script>
<?php
if($aantal){
$aantal=array_unique($_SESSION['bestelling']);
?>
<form action='' method=GET style="display:inline">
<input type='hidden' name=page value='laatstestap'>
<br>
<table class="border" style="width:92%"; height: 16.5;" align="center" background='http://www.leentjesweb.nl/ER/afbeeldingen/mandje_under_header.jpg' cellspacing='0' cellpadding='0' >
<tr>
<td class="teksttitel" style="width:18%;" >Verwijderen</td>
<td class="teksttitel" style="width:21%;" align="left">Foto</td>
<td class="teksttitel" style="width:30%;">Titel</td>
<td class="teksttitel" style="width:18%;">Aantal</td>
<td class="teksttitel" style="width:20%;">Prijs</td>
</tr>
</table>
<?php
}
if($aantal){
for($i = 0; $i < count($aantal); $i++){
$num=$_SESSION['bestelling'][$i];
if($num){
list($titel,$foto,$prijs)=split("\|",$cdnummer[$num]);
$blaat=explode(".",$prijs);
if($blaat[1]==""){
$prijs=$prijs;
}
$totaal=$totaal+$prijs;
?>
<script language="javascript" type="text/javascript"> buttons++; prijs".$i."=".$prijs."; </script>
<table class="border" align="center" style="width:720;" >
<tr>
<td style="width:20%;" align="center"><input TYPE='checkbox' value='X' name='status' onclick='if(window.confirm(\"Weet uw zeker dat u dit artikel uit uw winkelmandje wilt verwijderen?\")){ window.location=\"mand.php?status=X&id=".$i."\" } else { this.checked=false; }'></td>
<td class="tekst" style="width:20%;" align="left"> <?php echo "".$foto.""; ?></td>
<td style="width:28%;" class="tekst" align="left"> <?php echo "".$titel.""; ?></td>
<td style="width:16%;" class="tekst" > <?php echo "<input size=1 value=\"1\" id=aantal ".$i." onchange=\"prijs=".$prijs."; newprijs=Math.round(eval(this.value*prijs)*100)/100; document.all.prijs".$i.".value=newprijs;\" name=aantal[]></td>"; ?>
<td class="tekst" style="width:24%;"> <?php echo "<input class=\"tekst\" value='€ ".$prijs."' naam=prijs".$i." id=prijs".$i." readonly style=\"background-color:transparent; border:0;\"></td>"; ?>
<br>
</tr>
<?php
$aantal++;
}
}
?>
<table border="1" style="width:96%;">
<tr>
<td style="width:50%;"></td>
<td style="width:29%"></td>
<td class="teksttitel" >Totaal <div id=totaalwaarde STYLE=\"DISPLAY:INLINE\"><?php echo "€".$totaal.""; ?></div><br>
</td>
</tr>
</table>
<table style="width:720;">
<tr>
<td style="width:60;"> </td>
</tr>
</table>
<br><br>
<script language="javascript" type="text/javascript">
function totaal(){
document.all.totaalwaarde.innerHTML="";
for(i=0; i < buttons; i++)
{
prijs2=eval("prijs"+i);
aantal2=document.getElementById("aantal"+i).value;
prijs3=prijs2*aantal2;
document.all.totaalwaarde.innerHTML=eval(document.all.totaalwaarde.innerHTML+"+prijs3");
document.all.totaalwaarde.innerHTML=Math.round(document.all.totaalwaarde.innerHTML*100)/100;
}
}
</script>
<table style="width: 92%;" align="center">
<tr>
<td align='left' style="width:17%;">
<input class="knopcont" style="cursor: hand; height: 20px;" type="button" onClick = 'javascript:parent.location.href = "http://www.excellent-recordings.nl/?page=cd&pagina=1"' value="Verder winkelen" return false" onMouseOver = "this.className = 'menu_items_h';status = 'Verder winkelen'; return true" onMouseOut = "this.className = 'menu_items';status = ''; return true">
</td>
<td style="width:550;">
<button class="knopcont" style="cursor: hand; height: 20px;" onclick="totaal()" >Update</button>
</td>
<td align='right' >
<input class="knopcont" style="cursor: hand; height: 20px;" type=submit value="Afrekenen"></form>
</td>
</tr>
</table>
<br>
<?php
} else
{
?>
<table style="width:100%;">";
<tr>
<td align="center"><h1>Winkelmandje</h1></td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" style="width:90%;" align="center">
<tr>
<td class="tekst" style="width:100%; vertical-align="top"; " >
<br><br>
Er bevinden zich geen artikelen in uw winkelmandje!
<p>
Op deze pagina worden de door u gekozen producten weergegeven.
</td>
</tr>
</table>
<?php
}
}
else
{
if(strtolower($_GET["status"])=="annuleren"){
session_start();
session_destroy();
header("location: index.php?page=mand");
}
if($_GET["status"]=="X"){
session_start();
$ar=$_SESSION['bestelling'];
session_destroy();
unset($_SESSION['bestelling']);
session_start();
for($i=0; $i < count($ar); $i++)
{
if(($i != $_GET['id'])){
$_SESSION['bestelling'][]=$ar[$i];
}
}
header("location: index.php?page=mand");
}
}
?>
<?php include("titels.php"); if($_GET['page'] && !$_GET['status']){ $totaal= 0; $aantal= $_SESSION['bestelling']; ?> <script language="javascript" type="text/javascript"> var buttons=0; </script> <?php if($aantal){ ?> <form action='' method=GET style="display:inline"> <input type='hidden' name=page value='laatstestap'> <br> <table class="border" style="width:92%"; height: 16.5;" align="center" background='http://www.leentjesweb.nl/ER/afbeeldingen/mandje_under_header.jpg' cellspacing='0' cellpadding='0' > <tr> <td class="teksttitel" style="width:18%;" >Verwijderen</td> <td class="teksttitel" style="width:21%;" align="left">Foto</td> <td class="teksttitel" style="width:30%;">Titel</td> <td class="teksttitel" style="width:18%;">Aantal</td> <td class="teksttitel" style="width:20%;">Prijs</td> </tr> </table> <?php } if($aantal){ for($i = 0; $i < count($aantal); $i++){ $num=$_SESSION['bestelling'][$i]; if($num){ list($titel,$foto,$prijs)=split("\|",$cdnummer[$num]); if($blaat[1]==""){ $prijs=$prijs; } $totaal=$totaal+$prijs; ?> <script language="javascript" type="text/javascript"> buttons++; prijs".$i."=".$prijs."; </script> <table class="border" align="center" style="width:720;" > <tr> <td style="width:20%;" align="center"><input TYPE='checkbox' value='X' name='status' onclick='if(window.confirm(\"Weet uw zeker dat u dit artikel uit uw winkelmandje wilt verwijderen?\")){ window.location=\"mand.php?status=X&id=".$i."\" } else { this.checked=false; }'></td> <td class="tekst" style="width:20%;" align="left"> <?php echo "".$foto.""; ?></td> <td style="width:28%;" class="tekst" align="left"> <?php echo "".$titel.""; ?></td> <td style="width:16%;" class="tekst" > <?php echo "<input size=1 value=\"1\" id=aantal ".$i." onchange=\"prijs=".$prijs."; newprijs=Math.round(eval(this.value*prijs)*100)/100; document.all.prijs".$i.".value=newprijs;\" name=aantal[]></td>"; ?> <td class="tekst" style="width:24%;"> <?php echo "<input class=\"tekst\" value='€ ".$prijs."' naam=prijs".$i." id=prijs".$i." readonly style=\"background-color:transparent; border:0;\"></td>"; ?> <br> </tr> <?php $aantal++; } } ?> <table border="1" style="width:96%;"> <tr> <td style="width:50%;"></td> <td style="width:29%"></td> <td class="teksttitel" >Totaal <div id=totaalwaarde STYLE=\"DISPLAY:INLINE\"> <?php echo "€".$totaal.""; ?></div><br> </td> </tr> </table> <table style="width:720;"> <tr> <td style="width:60;"> </td> </tr> </table> <br><br> <script language="javascript" type="text/javascript"> function totaal(){ document.all.totaalwaarde.innerHTML=""; for(i=0; i < buttons; i++) { prijs2=eval("prijs"+i); aantal2=document.getElementById("aantal"+i).value; prijs3=prijs2*aantal2; document.all.totaalwaarde.innerHTML=eval(document.all.totaalwaarde.innerHTML+"+prijs3"); document.all.totaalwaarde.innerHTML=Math.round(document.all.totaalwaarde.innerHTML*100)/100; } } </script> <table style="width: 92%;" align="center"> <tr> <td align='left' style="width:17%;"> <input class="knopcont" style="cursor: hand; height: 20px;" type="button" onClick = 'javascript:parent.location.href = "http://www.excellent-recordings.nl/?page=cd&pagina=1"' value="Verder winkelen" return false" onMouseOver = "this.className = 'menu_items_h';status = 'Verder winkelen'; return true" onMouseOut = "this.className = 'menu_items';status = ''; return true"> </td> <td style="width:550;"> <button class="knopcont" style="cursor: hand; height: 20px;" onclick="totaal()" >Update</button> </td> <td align='right' > <input class="knopcont" style="cursor: hand; height: 20px;" type=submit value="Afrekenen"></form> </td> </tr> </table> <br> <?php } else { ?> <table style="width:100%;">"; <tr> <td align="center"><h1>Winkelmandje</h1></td> </tr> </table> <br> <table cellpadding="0" cellspacing="0" style="width:90%;" align="center"> <tr> <td class="tekst" style="width:100%; vertical-align="top"; " > <br><br> Er bevinden zich geen artikelen in uw winkelmandje! <p> Op deze pagina worden de door u gekozen producten weergegeven. </td> </tr> </table> <?php } } else { header("location: index.php?page=mand"); } if($_GET["status"]=="X"){ $ar=$_SESSION['bestelling']; unset($_SESSION['bestelling']); for($i=0; $i < count($ar); $i++) { if(($i != $_GET['id'])){ $_SESSION['bestelling'][]=$ar[$i]; } } header("location: index.php?page=mand"); } } ?>
Edit:
Je kunt niet verwachten dat men dat even voor je uitzoekt. Welke (JavaScript)-fout krijg je?
|