Versio

winkelwagen

Overzicht Reageren

Danny

Danny

02/06/2008 08:35:00
Quote Anchor link
Ik ben bezig om een winkelwagen te maken, en nu ben ik bezig met de afreken pagina.
Dit is de pagina die de bestelling in de database wegschrijft en de winkelwagen dan weer leeg maakt.

Ik heb deze pagina gemaakt en dacht dat hij goed was alleen hij zet de bestelling niet in de database weet iemand misschien wat er fout aan is?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
     require ("connect.php");
    
$sql = "INSERT INTO bestelling
       (klantnummer, besteldatum)
       VALUES
       ("
.$_SESSION['klantnr'].",".date('d-m-Y').")";
$query = mysql_query($sql);
$ordernr = mysql_insert_id();

$cart = explode("|",$_SESSION['cart']);

foreach($cart as $products) {
  // Split
  /*
    $product[x] -->
       x == 0 -> product id
       x == 1 -> hoeveelheid
  */

  $product = explode(",",$products);
  
  $iSql = "INSERT INTO bestelregel
          (bestelnummer, productnummer, aantal_besteld)
          VALUES
          ("
.$ordernr.", ".$product[0].", ".$product[1].")";
  $iQuery = mysql_query($iSql);
}


echo "<p><br><br><br><center><font color=white>Je bestelling is succesvol ontvangen!<br><a href='index.php'>Terug naar de homepagina</a></font></center></p>"
?>
 
PHP hulp

PHP hulp

25/05/2012 19:41:17
Gesponsorde koppelingen:
 
Jelle Posthuma

Jelle Posthuma

02/06/2008 08:43:00
Quote Anchor link
Ik zie verder ook geen controles of je mysql_query's wel lukken...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(mysql_query($sql)){
  echo 'OK!';
}
else{
  echo 'Fout:<br/><br/>'.mysql_error().'<br/><br/>'.$sql;
}

?>


En verder is het handig om als debug alles wat je tegenkomt te echo'en.
Dan weet je in ieder geval wat er telkens verstuurd wordt en opgehaald wordt.
 
Danny K

Danny K

02/06/2008 08:46:00
Quote Anchor link
Foutcontrole en foutafhandeling! Je checkt nergens of je query geslaagd is.
En omdat je dit nergens checkt, check je waarschijnlijk niet of je verbinding goed gemaakt is! Voordeel van een goede foutcontrole & afhandeling: het maakt het debuggen zo veel eenvoudiger!
Daarnaast zijn je vars $query & $iQuery niet juist benoemd! Dit zijn results! Een query == sql!
 
Terence Hersbach

Terence Hersbach

02/06/2008 09:02:00
Quote Anchor link
behalve dat je een datum in een date of datetimeveld invoert, voer je de datum nu ook verkeerd in. Een string (zoals je hem nu gebruikt), moet je een ' omheen zetten, dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$sql = "INSERT INTO bestelling
       (klantnummer, besteldatum)
       VALUES
       (".$_SESSION['klantnr'].",'".date('d-m-Y')."')";


Wat ik dus zei, gooi dat veld weg, en maak een nieuwe aan, en dan ipv een varchar een date type. Als je dan gaat invoeren, kan je het op deze manier doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$sql = "INSERT INTO bestelling
       (klantnummer, besteldatum)
       VALUES
       (".$_SESSION['klantnr'].",NOW())";


Dit geeft het voordeel dat je makkelijk kan sorteren, makkelijk kan kijken wat er een week geleden gedaan is enz. enz.
 
GaMer B

GaMer B

02/06/2008 09:04:00
Quote Anchor link
Als dat de hele pagina is, moet je ook nog session_start(); bovenaan je pagina zetten, anders kun je niet werken met die sessies.
 
Danny

Danny

02/06/2008 09:10:00
Quote Anchor link
bedankt iedereen ga er ff na kijken

GaMer13 schreef op 02.06.2008 09:04:
Als dat de hele pagina is, moet je ook nog session_start(); bovenaan je pagina zetten, anders kun je niet werken met die sessies.

dat hoeft niet want ik include de pagina dus dat staat in index.php
 



Overzicht Reageren

Get Adobe Flash player