Avatar billede farhang Nybegynder
12. oktober 2006 - 16:53 Der er 29 kommentarer

Indkøbskurv m.m.

Jeg har en indkøbskurv, men har lidt problem med at opdaterer mine ordreoplysninger i tabellen i min database, som hedder ordermain. Er der en, som kan se, hvad jeg gør forkert?

<?php
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$adresse1 = $_POST['adresse1'];
$adresse2 = $_POST['adresse2'];
$by = $_POST['by'];
$postnr = $_POST['postnr'];
$telefon = $_POST['telefon'];
$mobil = $_POST['mobil'];
$email = $_POST['email'];
$shipfornavn = $_POST['shipfornavn'];
$shipefternavn = $_POST['shipefternavn'];
$shipadresse1 = $_POST['shipadresse1'];
$shipadresse2 = $_POST['shipadresse2'];
$shipby = $_POST['shipby'];
$shippostnr = $_POST['shippostnr'];
$shiptelefon = $_POST['shiptelefon'];
$shipmobil = $_POST['shipmobil'];
$shipemail = $_POST['shipemail'];
$total = $_POST['total'];
$sessid = session_id();
$today = date("Y-m-d");

//1)
$query = "SELECT * FROM kunder WHERE
          (kunde_fornavn = '$fornavn' AND
          kunde_efternavn = '$efternavn' AND
          kunde_adresse1 = '$adresse1' AND
          kunde_adresse2 = '$adresse2' AND
          kunde_by = '$by')";
$results = mysql_query($query)
  or (mysql_error());
$rows = mysql_num_rows($results);

if ($rows < 1) {
  //assign new custnum

  $query2 = "INSERT INTO kunder (
            kunde_fornavn, kunde_efternavn, kunde_adresse1,
            kunde_adresse2, kunde_by,
            kunde_postnr, kunde_telefon, kunde_mobil,
            kunde_email)
            VALUES (
            '$fornavn',
            '$efternavn',
            '$adresse1',
            '$adresse2',
            '$by',
            '$postnr',
            '$telefon',
            '$mobil',
            '$email')";
  $insert = mysql_query($query2)
    or (mysql_error());
  $custid = mysql_insert_id();
}

if ($custid) {
  $kunde_custnum = $custid;
}

//2)
$fragt = 35;

$query3 = "INSERT INTO ordermain (
          ordermain_orderdato, ordermain_custnum,
          ordermain_subtotal, ordermain_fragt,
          ordermain_fragtfornavn, ordermain_fragtefternavn,
          ordermain_fragtadresse1, ordermain_fragtadresse2,
          ordermain_fragtby,
          ordermain_fragtpostnr, ordermain_fragttelefon,
          ordermain_fragtemail)
          VALUES (
          '$today',
          '$kunde_custnum',
          '$total',
          '$fragt'
          '$shipfornavn',
          '$shipefternavn',
          '$shipadresse1',
          '$shipadresse2',
          '$shipby',
          '$shippostnr',
          '$shiptelefon',
          '$shipemail')";
$insert2 = mysql_query($query3)
  or (mysql_error());
$orderid = mysql_insert_id();

//3)
$query = "SELECT * FROM carttemp WHERE carttemp_sess='$sessid'";
$results = mysql_query($query)
  or (mysql_error());

while ($row = mysql_fetch_array($results)) {
  extract($row);
  $query4 = "INSERT INTO orderdet (
            orderdet_ordernum, orderdet_qty, orderdet_prodnum)
            VALUES (
            '$orderid',
            '$carttemp_quan',
            '$carttemp_prodnum')";
  $insert4 = mysql_query($query4)
    or (mysql_error());
}

//4)
$query = "DELETE FROM carttemp WHERE carttemp_sess='$sessid'";
$delete = mysql_query($query);
?>
Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 17:21 #1
hvad er det den helt nøjagtigt har problemer med og hvordan opdateres oplysningerne, ved at oprette en ny række?
har du tjekket at det ikke står ' eller " i nogen af felterne?
Avatar billede farhang Nybegynder
12. oktober 2006 - 21:38 #2
Jeg har tjekket alt for ' eller ", uden held! Men er det min formularfelter, de ser sådan ud:

<input type="text" name="fornavn" maxlength="15" size="15" value="<?php echo $_POST['fornavn']; ?>">
Avatar billede sw_red_6 Nybegynder
13. oktober 2006 - 10:24 #3
hvad med opdatering? skal den indsætte en ny række hver gang eller skal den opdatere en eksisterende række?
Avatar billede farhang Nybegynder
13. oktober 2006 - 10:32 #4
Den skal indsætte en ny række hver gang.
Avatar billede sw_red_6 Nybegynder
13. oktober 2006 - 10:39 #5
prøv at lave en echo på $query3 bare for at se om der kan være noget der ikke ser rigtigt ud.
Der er 100% sikker på rækkefølgen af attributterne?
og datatyperne passer også?
Avatar billede farhang Nybegynder
13. oktober 2006 - 15:53 #6
Jeg har tjekket med echo i $query3, men det skete der intet af. Såvidt jeg kan se er rækkefølgen på attributterne rigtig og datatyperne passer til. Jeg har to andre felter i min tabel, som jeg ikke bruger, har det noget at sige?
Avatar billede sw_red_6 Nybegynder
13. oktober 2006 - 16:23 #7
det skulle det ikke...
kan du ikke C/P det fra echo $query3 herind?
Avatar billede sw_red_6 Nybegynder
13. oktober 2006 - 16:25 #8
mht de 2 felter du ikke bruger så skulle rækken blive oprettet med default-værdierne eller hvis der ikke er nogen default-værdi bliver den oprettet med NULL i de 2 felter
Avatar billede farhang Nybegynder
13. oktober 2006 - 16:34 #9
Vil du have koden eller kun html?
Avatar billede sw_red_6 Nybegynder
13. oktober 2006 - 20:25 #10
jeg vil have det der står når du echo'er $query3.
Har du evt. et link hvor jeg kan se det i stedet for at du skal paste det herind?
Avatar billede farhang Nybegynder
13. oktober 2006 - 21:26 #11
//Let's make the variables easy to access in our queries
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$adresse1 = $_POST['adresse1'];
$adresse2 = $_POST['adresse2'];
$by = $_POST['by'];
$postnr = $_POST['postnr'];
$telefon = $_POST['telefon'];
$mobil = $_POST['mobil'];
$email = $_POST['email'];
$shipfornavn = $_POST['shipfornavn'];
$shipefternavn = $_POST['shipefternavn'];
$shipadresse1 = $_POST['shipadresse1'];
$shipadresse2 = $_POST['shipadresse2'];
$shipby = $_POST['shipby'];
$shippostnr = $_POST['shippostnr'];
$shiptelefon = $_POST['shiptelefon'];
$shipmobil = $_POST['shipmobil'];
$shipemail = $_POST['shipemail'];
$total = $_POST['total'];
$sessid = session_id();
$today = date("d/m/Y - H:i");

//1) Assign Customer Number to new Customer, or find existing customer number
$query = "SELECT * FROM kunder WHERE
          (kunde_fornavn = '$fornavn' AND
          kunde_efternavn = '$efternavn' AND
          kunde_adresse1 = '$adresse1' AND
          kunde_adresse2 = '$adresse2' AND
          kunde_by = '$by')";
$results = mysql_query($query)
  or (mysql_error());
$rows = mysql_num_rows($results);

if ($rows < 1) {
  //assign new custnum
  $query2 = "INSERT INTO kunder (
            kunde_fornavn, kunde_efternavn, kunde_adresse1,
            kunde_adresse2, kunde_by,
            kunde_postnr, kunde_telefon, kunde_mobil,
            kunde_email)
            VALUES (
            '$fornavn',
            '$efternavn',
            '$adresse1',
            '$adresse2',
            '$by',
            '$postnr',
            '$telefon',
            '$mobil',
            '$email')";
  $insert = mysql_query($query2)
    or (mysql_error());
  $custid = mysql_insert_id();
}

//If custid exists, we want to make it equal to custnum
//Otherwise we will use the existing custnum
if ($custid) {
  $kunde_custnum = $custid;
}

//2) Insert Info into ordermain
//determine shipping costs based on order total (25% of total)
$fragt = 35;

$query3 = "INSERT INTO ordermain (
          ordermain_orderdato, ordermain_custnum,
          ordermain_subtotal, ordermain_fragt,
          ordermain_fragtfornavn, ordermain_fragtefternavn,
          ordermain_fragtadresse1, ordermain_fragtadresse2,
          ordermain_fragtby,
          ordermain_fragtpostnr, ordermain_fragttelefon,
          ordermain_fragtemail)
          VALUES (
          '$today',
          '$kunde_custnum',
          '$total',
          '$fragt'
          '$shipfornavn',
          '$shipefternavn',
          '$shipadresse1',
          '$shipadresse2',
          '$shipby',
          '$shippostnr',
          '$shiptelefon',
          '$shipemail')";
$insert2 = mysql_query($query3)
  or (mysql_error());
$orderid = mysql_insert_id();

echo "" . $ordermain_fragtfornavn . "";

//3) Insert Info into orderdet
//find the correct cart information being temporarily stored
$query = "SELECT * FROM carttemp WHERE carttemp_sess='$sessid'";
$results = mysql_query($query)
  or (mysql_error());

//put the data into the database one row at a time
while ($row = mysql_fetch_array($results)) {
  extract($row);
  $query4 = "INSERT INTO orderdet (
            orderdet_ordernum, orderdet_qty, orderdet_prodnum)
            VALUES (
            '$orderid',
            '$carttemp_quan',
            '$carttemp_prodnum')";
  $insert4 = mysql_query($query4)
    or (mysql_error());
}

//4)delete from temporary table
$query = "DELETE FROM carttemp WHERE carttemp_sess='$sessid'";
$delete = mysql_query($query);

Du kan se det på http://www.designunltd.dk/la-femme/cart.php trin 3 af 3.
Avatar billede farhang Nybegynder
16. oktober 2006 - 14:59 #12
Hej, Har du glemt mig?
Avatar billede sw_red_6 Nybegynder
16. oktober 2006 - 15:04 #13
nej men det har været weekend og min egen PC mangler en PSU.
har du en echo $query3 på den side så jeg kan se det?
Avatar billede farhang Nybegynder
16. oktober 2006 - 15:13 #14
Ja, det har jeg nu.
Avatar billede sw_red_6 Nybegynder
16. oktober 2006 - 15:19 #15
øhh hvad er det lige der ikke sker, men det er meningen? jeg kan godt tilføje til den liste der bliver vist i trin 3
Kan du se i ordermain at der tilføjet 2 nye ting?
Den her:
( '16/10/2006 - 15:17', '', '330', '35' '', '', '', '', '', '', '', '')
og den her:
( '16/10/2006 - 15:18', '', '275', '35' '', '', '', '', '', '', '', '')
Avatar billede farhang Nybegynder
16. oktober 2006 - 15:29 #16
Jeg kan ikke se at der bliver tilføjet noget som helst i phpmyadmin.
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 08:30 #17
du mangler da vidst også et , efter fragt
Avatar billede farhang Nybegynder
17. oktober 2006 - 08:48 #18
Mangler jeg et felt?
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 08:52 #19
du mangler et komma (,) efter fragt i $query3.
$query3 = "INSERT INTO ordermain (
          ordermain_orderdato, ordermain_custnum,
          ordermain_subtotal, ordermain_fragt,
          ordermain_fragtfornavn, ordermain_fragtefternavn,
          ordermain_fragtadresse1, ordermain_fragtadresse2,
          ordermain_fragtby,
          ordermain_fragtpostnr, ordermain_fragttelefon,
          ordermain_fragtemail)
          VALUES (
          '$today',
          '$kunde_custnum',
          '$total',
          '$fragt'    <-- lige der mangler der et komma
          '$shipfornavn',
          '$shipefternavn',
          '$shipadresse1',
          '$shipadresse2',
          '$shipby',
          '$shippostnr',
          '$shiptelefon',
          '$shipemail')";
$insert2 = mysql_query($query3)
  or (mysql_error());
$orderid = mysql_insert_id();
Avatar billede farhang Nybegynder
17. oktober 2006 - 08:57 #20
Min tabel ser sådan ud:

ordermain_ordernummer             
ordermain_orderdato             
ordermain_custnum
ordermain_subtotal
ordermain_fragt
ordermain_taks
ordermain_total
ordermain_fragtfornavn
ordermain_fragtefternavn
ordermain_fragtadresse1
ordermain_fragtadresse2
ordermain_fragtby
ordermain_fragtpostnr
ordermain_fragttelefon
ordermain_fragtmobil
ordermain_fragtemail
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 08:59 #21
helt i orden, det er ikke det jeg mener! kig min kommentar fra 17/10-2006 08:52:48 igennem
Avatar billede farhang Nybegynder
17. oktober 2006 - 09:11 #22
Det var kommaet, som var problemet.

Men nu når jeg kommer til trin 3, så er skærmen hvid! Hvad kan det skyldes?
Avatar billede farhang Nybegynder
17. oktober 2006 - 09:22 #23
Skal jeg lave en query for at hente dataene igen?
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 09:24 #24
det skal du muligvis nok. Hvor er de data der står i trin 3 hentet fra og hvordan kommer du til trin 3?
Avatar billede farhang Nybegynder
17. oktober 2006 - 09:37 #25
De kommer fra trin 2 via kollektion.php > cart.php > checkout1.php > checkout2.php > så til checkout3.php klik her http://www.designunltd.dk/la-femme/kollektion.php

Koden på resten af trin 3 ser sådan ud:

<?php
echo "<title>La-femme.dk - Ordrebekræftelse trin 3 af 3/title>";
?>
<?php include("includes/topinclude.php") ?>
<?php
$queryvenstrebillede = "SELECT billede_id FROM billeder WHERE billede_id = '6'";
$results = mysql_query($queryvenstrebillede)
  or die(mysql_error());
$row = mysql_fetch_array($results);

echo "<td width=\"385\" height=\"472\" valign=\"top\" align=\"right\">";
echo "<img src=\"images/";
echo $row['billede_id'] . ".jpg\" width=\"385\" height=\"451\" border=\"0\">";
echo "</td>";
echo "<td width=\"15\" height=\"472\"></td>";
echo "<td width=\"385\" height=\"472\" class=\"indhold\" valign=\"top\" align=\"right\">";
?>
<?
echo "<table width=\"385\" border=\"0\">
    <tr>";
echo "<td width=\"385\" border=\"0\" class=\"indhold\"  align=\"right\">";
echo "Tak for din ordre.";
echo "</td>
    </tr>";
echo "<tr>";
echo "<td width=\"385\" border=\"0\" class=\"indhold\"  align=\"right\">";
echo "<div align=\"right\">Ordre dato: ";
echo $today;
echo "<br>
    Ordre nummer: ";
echo $orderid;
echo "<br><br></div>";
echo "</td>
    </tr>";
echo "</table>
<table width=\"385\" border=\"0\">
      <tr>
        <td width=\"50%\" class=\"indhold\">
        Faktureres til:<br><br>";
echo $fornavn;
echo " ";
echo $efternavn;
echo "<br>";
echo  $adresse1;
echo "<br>";
  if ($adresse2) {
echo  $adresse2 . "<br>";
  }
echo  $postnr . " " . $by . "";
echo  "<br></td>
    <td width=\"50%\" class=\"indhold\">
      Sendes til:<br><br>";
echo  $shipfornavn . " " . $shipefternavn;
echo "<br>";
echo  $shipadresse1 . "<br>";
  if ($shipadresse2) {
echo  $shipadresse2 . "<br>";
  }
echo $shippostnr . " " . $shipby;
echo "<br>
        </td>
      </tr>
    </table>
    <table width=\"385\" cellpadding=\"5\">";
echo "<tr><td width=\"5%\" class=\"indhold\">";
echo "<b>Antal</b>";
echo "</td>";
echo "<td width=\"45%\" class=\"indhold\">";
echo "<b>Produkt</b>";
echo "</td>";
echo "<td width=\"25%\" class=\"indhold\" align=\"right\">";
echo "<b>Pris</b>";
echo  "</td>";
echo "<td width=\"25%\" class=\"indhold\" align=\"right\">";
echo "<b><div align=\"right\"> Pris i alt</div></b>";
echo "</td>";
echo "</tr>";

$query = "SELECT * FROM orderdet WHERE orderdet_ordernum = '$orderid'";
$results = mysql_query($query)
  or die (mysql_query());
while ($row = mysql_fetch_array($results)) {
  extract($row);
  $prod = "SELECT * FROM products
          WHERE products_prodnum = '$orderdet_prodnum'";
  $prod2 = mysql_query($prod);
  $prod3 = mysql_fetch_array($prod2);
  extract($prod3);
echo "<tr><td class=\"indhold\">";
echo $orderdet_qty;
echo "</td>";
echo "<td class=\"indhold\">";
echo  $products_navn;
echo "</td>";
echo "<td class=\"indhold\" align=\"right\">";
echo $products_pris;
echo  "</td>";
echo "<td class=\"indhold\" align=\"right\"><div align=\"right\">";
  //get extended price
  $extprice = $products_pris * $carttemp_qty;
  $extprice = number_format($products_pris * $orderdet_qty, 2, ',' , '.');
echo $extprice;
echo "</div></td>";
echo "</tr>";
}

echo  "<tr>
    <td class=\"indhold\" colspan=\"3\" align=\"right\">
      Pris i alt(incl. moms):
    </td>
    <td width=\"50%\" class=\"indhold\" colspan=\"2\" align=\"right\"><div align=\"right\">";
echo  number_format($total, 2, ',' , '.');
echo  "</div></td>
    </tr>
    <tr>
      <td class=\"indhold\" colspan=\"3\" align=\"right\">
        Forsendelse:
      </td>
      <td width=\"50%\" class=\"indhold\" colspan=\"2\" align=\"right\"><div align=\"right\">";
echo  number_format($fragt, 2, ',' , '.');
echo  "</div></td>
    </tr>
    <tr>
      <td class=\"indhold\" colspan=\"3\" align=\"right\">
        Beløbet i alt:
      </td>
      <td width=\"50%\" class=\"indhold\" colspan=\"2\" align=\"right\"><b><div align=\"right\">";
echo number_format(($total + $fragt), 2, ',' , '.');
echo "</b></div>
        </td>
      </tr>
    </table>";
?>
<?php include("includes/bundstregcheck3include.php") ?>
<?php include("menu/checkout3menu.php") ?>
<?php include("includes/bundinclude.php") ?>
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 09:41 #26
jeg har personligt ikke nogen problemer med at se det hele i trin 3.
Hvad er det du mener der mangler?
Avatar billede farhang Nybegynder
17. oktober 2006 - 10:12 #27
Min kildekode ser sådan ud:

<html>
    <head><title>La-femme.dk - Ordrebekræftelse trin 3 af 3/title><link rel="stylesheet" href="library/fonts.css" type="text/css"></head><body bgcolor="#FFFFFF"><table width="785" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="785" height="60" colspan="3"><table width="785" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="146" height="61"><a href="index.php"><img src="images/4.gif" width="146" height="61" border="0"></a></td><td width="515" height="61">&nbsp;</td><td width="124" height="61" align="right"><a href="cart.php"><img src="images/5.gif" width="124" height="61" border="0"></a></td></tr></table><tr><td width="785" height="2" colspan="3"><img src="images/2.png" width="785" height="2"></td></tr><tr><td width="785" height="23" colspan="3"></td></tr><tr><td width="385" height="472" valign="top" align="right"><img src="images/6.jpg" width="385" height="451" border="0"></td><td width="15" height="472"></td><td width="385" height="472" class="indhold" valign="top" align="right"><table width="385" border="0">
    <tr><td width="385" border="0" class="indhold"  align="right">Tak for din ordre.</td>
    </tr><tr><td width="385" border="0" class="indhold"  align="right"><div align="right">Ordre dato: 17/10/2006 - 10:09<br>
    Ordre nummer: 13<br><br></div></td>
    </tr></table>
<table width="385" border="0">
      <tr>
        <td width="50%" class="indhold">
        Faktureres til:<br><br> <br><br> <br></td>
    <td width="50%" class="indhold">
      Sendes til:<br><br> <br><br> <br>
        </td>
      </tr>
    </table>
    <table width="385" cellpadding="5"><tr><td width="5%" class="indhold"><b>Antal</b></td><td width="45%" class="indhold"><b>Produkt</b></td><td width="25%" class="indhold" align="right"><b>Pris</b></td><td width="25%" class="indhold" align="right"><b><div align="right"> Pris i alt</div></b></td></tr><tr>
    <td class="indhold" colspan="3" align="right">
      Pris i alt(incl. moms):
    </td>
    <td width="50%" class="indhold" colspan="2" align="right"><div align="right">300,00</div></td>
    </tr>
    <tr>
      <td class="indhold" colspan="3" align="right">
        Forsendelse:
      </td>
      <td width="50%" class="indhold" colspan="2" align="right"><div align="right">35,00</div></td>
    </tr>
    <tr>
      <td class="indhold" colspan="3" align="right">
        Beløbet i alt:
      </td>
      <td width="50%" class="indhold" colspan="2" align="right"><b><div align="right">335,00</b></div>
        </td>
      </tr>
    </table><td width="785" height="23" colspan="3"></td></tr><td width="785" height="10" colspan="3" valign="top"><img src="images/1.png" width="785" height="2"></td></tr><tr><td width="785" height="23" colspan="3" align="center"><table width="785" height="23"><tr><td width="785" height="23" align="center"><font class="undermenu"><a href="cart.php" class="undermenu">indkøbspose</a>&nbsp;&nbsp;</font><font class="undermenu"><a href="checkout1.php" class="undermenu">trin 1 af 3</a>&nbsp;&nbsp;</font><font class="undermenu"><a href="checkout2.php" class="undermenu">trin 2 af 3</a>&nbsp;&nbsp;</font><font class="undermenu"><b><a href="checkout3.php" class="undermenu">trin 3 af 3</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr><tr><td width="785" height="10" colspan="3" valign="top"><img src="images/1.png" width="785" height="2"></td></tr><tr><td width="785" height="20" colspan="3" align="center" class="indhold"><div align="center">copyright © 2006 la-femme all rights reserved - powered by <a href="http://www.designunltd.dk"  target="_blank" class="undermenu">designunltd.dk</a>                              </div></td></tr></table></body></html>

men min browser helt hvid!
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 11:41 #28
besynderligt... jeg har som sagt ingen problemer med at se siden i firefox, men kan godt se at den er helt gal i IE.
Det kan jeg ikke lige gennemskue hvorfor på nuværende tidspunkt
Avatar billede farhang Nybegynder
29. november 2006 - 15:18 #29
Tak for hjælpen. Smid et svar.
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