Hallo,
Ik heb een winkelsysteem en loop tegen een probleem aan.
De bedoeling is dat wanneer iemand op de button "bestel" klikt, dat het aantal, wat de klant heeft ingevuld, in de winkelwagen wordt gelegd. Echter werkt dat gedeelte niet helemaal.
Het probleem is dat dat hij wel goed door linkt naar ?page=cart met het goede aantal, maar dat hij af en toe zegt dat de winkelwagen leeg is. Soms zegt het dus dat het leeg is en soms zit er wel een aantal in de winkelwagen. Zou iemand daar nog even naar willen kijken voor mij ?
Alvast bedankt!
PHP Code:
<?php
$_SESSION['aantal'] = '$aantal';
if(isset($_GET['action']) && $_GET['action'] == "add"){
$id = intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
} else {
$sql2 = "SELECT * FROM producten WHERE id_product=$id";
$query2 = mysql_query($sql2);
if(mysql_num_rows($query2) != 0){
$row2 = mysql_fetch_array($query2);
$_SESSION['cart'][$row2['id_product']] = array("quantity" => $_POST['aantal'] , "prijs" => $row2['prijs']);
} else {
$message = "Dit id is onjuist!";
}
}
}
?>
<h2 class="message"><?php if(isset($message)){echo $message;} ?></h2>
<?php
$sql = "SELECT * FROM producten ORDER BY id_product DESC";
$query = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
?>
<div class="indeling">
<div class="links1">
<font face="Tahoma, sans-serif">
<font size="+2,5" color="gray"><?php echo $row['naam']; ?></font>
</font>
<br /><br /><div style="line-height: 15pt;"><font face="Tahoma, sans-serif" color="gray" size="2,5px;">
<?php echo $row['beschrijving']; ?></font>
<b><?php echo $row['voorraad']; ?> stuks op voorraad</b><br /><font face="Tahoma, sans-serif" color="gray" size="2,5px;">Op werkdagen voor 17.00 betaald <br />en besteld = morgen in huis <br /><br />
</font>
<font size=5><?php echo "€" . $row['prijs']; ?></font> <s>€ 19,95</s>
<br /></div>
<form method="POST" action="index.php?page=products&action=add&id=<?php echo $row['id_product']; ?>" onSubmit=window.setTimeout("location.href='index.php?page=cart'",100)
><br /><table widht="300px"><tr><td width="50px"><input type="text" name="aantal" size="5" value="1" style="width: 30px; height: 20px; border: 1px solid black;"/></td><td>
<input type="image" name="submit" src="images/buttonproduct.png" value="Voeg toe aan mijn winkelwagen!" title="Voeg toe aan mijn winkelwagen!" /></td></tr></table>
<br /><br /><br /></form>
</div>
<div class="rechts1">
<a href="images/image.jpg" title="image" rel="lightbox[roadtrip]">
<img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;">
</a>
<a href="images/image.jpg" title="image" rel="lightbox[roadtrip]">
<img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;">
</a>
<a href="images/image.jpg" title="image" rel="lightbox[roadtrip]">
<img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;">
</a>
<br><br>
</div>
</div>
<?php
}
?>
- PHP Sessie probleem
-
23-09-2011, 10:14 #1
- Berichten
- 32
- Lid sinds
- 15 Jaar
PHP Sessie probleem
-
-
23-09-2011, 10:42 #2
- Berichten
- 371
- Lid sinds
- 18 Jaar
Re: PHP Sessie probleem
Ik denk dat het hier ergens mis gaat.
$_SESSION['aantal'] = '$aantal';
Verander het in dit
$_SESSION['aantal'] = $aantal;
-
23-09-2011, 10:44 #3
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: PHP Sessie probleem
Dat is sowieso al een probleem, als je jouw code gebruikt krijgt $_SESSION['aantal'] de waarde $aantal (letterlijk die waarde, niet de waarde die de variabel voorstelt).
Buiten dat mis je bovenaan je script session_start(), zonder die functie werken sessies nooit.
-
23-09-2011, 12:12 #4
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: PHP Sessie probleem
Dat is sowieso al een probleem, als je jouw code gebruikt krijgt $_SESSION['aantal'] de waarde $aantal (letterlijk die waarde, niet de waarde die de variabel voorstelt).
Buiten dat mis je bovenaan je script session_start(), zonder die functie werken sessies nooit.
Ik zal kijken of het nu wel gaat werken.
U hoort weer van mij.
EDIT:
Ik heb even geprobeert, maar na de tweede keer proberen kreeg ik weer een melding van ?page=cart :
U heeft nog geen product in uw winkelwagen geplaatst.
Ga terug naar de producten pagina.
Ik heb deze aanpassing geprobeerd:
Code:$_SESSION['aantal'] = $aantal;
Code:onSubmit=window.setTimeout("location.href='index.php?page=cart'",10)
-
23-09-2011, 12:20 #5
- Berichten
- 246
- Lid sinds
- 16 Jaar
Re: PHP Sessie probleem
Update je code eens bovenaan, dan weten we wat je al ondertussen al aangepast hebt.
-
23-09-2011, 12:24 #6
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: PHP Sessie probleem
Recente code
Code:<?php $_SESSION['aantal'] = $aantal; if(isset($_GET['action']) && $_GET['action'] == "add"){ $id = intval($_GET['id']); if(isset($_SESSION['cart'][$id])){ $_SESSION['cart'][$id]['quantity']++; } else { $sql2 = "SELECT * FROM producten WHERE id_product=$id"; $query2 = mysql_query($sql2); if(mysql_num_rows($query2) != 0){ $row2 = mysql_fetch_array($query2); $_SESSION['cart'][$row2['id_product']] = array("quantity" => $_POST['aantal'] , "prijs" => $row2['prijs']); } else { $message = "Dit id is onjuist!"; } } } ?> <h2 class="message"><?php if(isset($message)){echo $message;} ?></h2> <?php $sql = "SELECT * FROM producten ORDER BY id_product DESC"; $query = mysql_query($sql) or die(mysql_error()); while($row = mysql_fetch_assoc($query)){ ?> <div class="indeling"> <div class="links1"> <font face="Tahoma, sans-serif"> <font size="+2,5" color="gray"><?php echo $row['naam']; ?></font> </font> <br /><br /><div style="line-height: 15pt;"><font face="Tahoma, sans-serif" color="gray" size="2,5px;"> <?php echo $row['beschrijving']; ?></font> <b><br /><?php echo $row['voorraad']; ?> stuks op voorraad</b><br /><font face="Tahoma, sans-serif" color="gray" size="2,5px;">Op werkdagen voor 17.00 betaald <br />en besteld = morgen in huis <br /><br /> </font> <font size=5><?php echo "€" . $row['prijs']; ?></font> <s>€ 19,95</s> <br /></div> <form method="POST" action="index.php?page=products&action=add&id=<?php echo $row['id_product']; ?>" onSubmit=window.setTimeout("location.href='index.php?page=cart'",10) ><br /><table widht="300px"><tr><td width="50px"><input type="text" name="aantal" size="5" value="1" style="width: 30px; height: 20px; border: 1px solid black;"/></td><td> <input type="image" name="submit" src="images/buttonproduct.png" value="Voeg toe aan mijn winkelwagen!" title="Voeg toe aan mijn winkelwagen!" /></td></tr></table> <br /><br /><br /></form> </div> <div class="rechts1"> <a href="images/image.jpg" title="image" rel="lightbox[roadtrip]"> <img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;"> </a> <a href="images/image.jpg" title="image" rel="lightbox[roadtrip]"> <img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;"> </a> <a href="images/image.jpg" title="image" rel="lightbox[roadtrip]"> <img src="images/image.jpg" style="width: 75px; height: 75px;margin-right: 10px;margin-top:5px;float: left; border: 1px solid black; margin-bottom: 10px;"> </a> <br><br> </div> </div> <?php } ?>
Iemand alstublieft? Het is erg frustrerent wanneer klanten drie keer moeten klikken voordat het product in de winkelwagen verschijnt.
Graag uw hulp!Laatst aangepast door Bas de Ruiter : 23-09-2011 om 18:21 Reden: Automatisch samengevoegd.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic