/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
"Duplicate entry '8' for key 1"????
Fra : anetteogjesper
Vist : 449 gange
20 point
Dato : 15-06-04 11:33

Hej
Jeg har dennne hjemmeside www.xxxxx.dk og nogle gange når man bestiller en vare får man denne besked "Duplicate entry '8' for key 1", med forskellige tal.
Andre gange når man bestiller går varen fint igennem, hvad er der galt?

Jeg bruger en mySql database!

 
 
Kommentar
Fra : snortop


Dato : 15-06-04 11:41

umeldbart lyder det som om man er ved at lave en dobbelt postering.
Men ellers skal jeg ikke gøre mig klog..

(skriv også her for muligvis at få et svar, i mail )

Kommentar
Fra : anetteogjesper


Dato : 15-06-04 11:56

Php koden ser sådan ud, men jeg kan også sende den til dig på mail.... min email er diverse (snabela) os.dk

<?php
session_start();
//etablerer forbindelse til databasen
$conn = mysql_connect("mydb1.surftown.dk", "XXX", "XXX") or die(mysql_error());
mysql_select_db("michell_varelager",$conn)   or die(mysql_error());

$display_block = "<h1>Bekræftigelse</h1>";

//validering af varen

$select_from_orders = "SELECT efterkrav, overfoersel, ewire, fornavn, efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked FROM orders WHERE session_id='".$PHPSESSID."'";
extract(mysql_fetch_array(mysql_query($select_from_orders))) or die(mysql_error());

if (!empty($efterkrav)) {
   $salg = "Efterkrav <div style=\"text-align:center\">kr. 78,75</div>";
   $pris = "78.75";
   $betaling = "Efterkrav";
}
if (!empty($overfoersel)) {
   $salg = "Bankoverførsel <div style=\"text-align:center\">kr. 46,50</div>";
   $pris = "46.50";
   $betaling = "Bankoverførsel";
}
if (!empty($ewire)) {
   $salg = "Ewire <div style=\"text-align:center\">kr. 49,50</div>";
   $pris = "49.50";
   $betaling = "Ewire";
}
if (!empty($adresse2)) {
   $adresse3 = "\n".$adresse2;
}

if (!empty($sendtil_adresse2)) {
   $sendtil_adresse3 = "\n".$sendtil_adresse2;
}

if ($add_type == "samme") {
   $levering = "Leveringsadressen er den samme";
} else {
   $levering = "Levering sker til:\n".$sendtil."\n".$sendtil_adresse1."\n".$sendtil_postnr."".$sendtil_by."\n\nDen personlige besked til modtageren er:\n".$personlig_besked;
}

$display_block .= "Du købte:<br/>";

$select_from_store_shoppertrack = "SELECT sel_item_id, sel_item_qty, sel_item_size, sel_item_price FROM store_shoppertrack WHERE session_id = '".$PHPSESSID."'";

// Hent først data ud
$resultat = mysql_query($select_from_store_shoppertrack);

// Kør så igennem for hver række
while ($raekke = mysql_fetch_array($resultat)) {
extract($raekke);

$select_from_inventory = "SELECT name, price FROM inventory WHERE id='".$sel_item_id."'";
extract(mysql_fetch_array(mysql_query($select_from_inventory))) or die(mysql_error());

$select_from_store_size = "SELECT store_item_qty FROM store_item_size WHERE item_id='".$sel_item_id."'";
extract(mysql_fetch_array(mysql_query($select_from_store_size))) or die(mysql_error());
$store_item = $store_item_qty - $sel_item_qty;
mysql_query("UPDATE store_item_size SET store_item_qty='".$store_item."' WHERE item_id='".$sel_item_id."'");

$sql = "INSERT INTO store_orders_itemmap (id, sel_item_id, sel_item_qty, sel_item_size, sel_item_price, efterkrav, overfoersel, ewire, fornavn, efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked) VALUES ('".$PHPSESSID."', '".$sel_item_id."', '".$sel_item_qty."', '".$sel_item_size."', '".$sel_item_price."', '".$efterkrav."', '".$overfoersel."', '".$ewire."', '".$fornavn."', '".$efternavn."', '".$adresse1."', '".$adresse2."', '".$city."', '".$postnr."', '".$telefon."', '".$mobil."', '".$email."', '".$addtype."', '".$sendtil."', '".$sendtil_adresse1."', '".$sendtil_adresse2."', '".$sendtil_by."', '".$sendtil_postnr."', '".$personlig_besked."')";
mysql_query($sql) or die (mysql_error());

$price = $price * $sel_item_qty;
$price = array($price);
$display_block .= $sel_item_qty." stk. ".$name."<div style=\"text-align:center\">kr. ";

$counting = count($price);
for ($a=0; $a<$counting; $a++) {
    $display_block .= str_replace(".", ",", $price[$a])."</div><br/>";
    $prisen1 = $price[$a] + $prisen1;
}

$mail_tekst[] = $sel_item_qty." stk. ".$name." størrelse ".$sel_item_size;
}

$prisen2 = "Samlet pris<div style=\"text-align:center\">kr. ".str_replace(".", ",", $prisen1 + $pris)."</div>";

$display_block .= $salg."<br/>".$prisen2;

$emailadressen = "bixen@xxxxx.dk";
$emne = "Der er blevet købt varer på 5xX";
$tekst = "Hej.\n".$fornavn." ".$efternavn." købte noget på siden.\n\n".$fornavn."'s bestilling er\n\n:";

$coutning2 = count($mail_tekst);
for ($c=0; $c<$coutning2; $c++) {
   $tekst .= $mail_tekst[$c]."\n";
}

$tekst .= "\nVedkommendes betalingsform var:\n".$betaling."\n\n".$prisen2."\n\nVedkommendes adresse er:\n".$adresse1."".$adresse3."\n".$postnr." ".$city."\n\n".$levering."\n\nVedkommendes emailadresse er:\n".$email;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: 5 x X biXen <".$emailadressen.">";
mail($emailadressen, $emne, $tekst, $headers);

$bestiller_emne = "Tak for din bestilling!";
$tekst1 = "Tusind tak for din bestilling hos 5 x X biXen!\n\nDu vil snarest modtage ordrebekræftelse pr. e-mail.\n\nMed venlig hilsen\n5 x X biXen";
mail($email, $bestiller_emne, $tekst1, $headers);
?>

<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="rullepanel.css">
<style>
a {text-decoration: none}
</style>

</head>
<body>
<? print $display_block; ?>
TAK FOR DIN BESTILLING

</body>
</html>   

Kommentar
Fra : snortop


Dato : 15-06-04 13:21

hmm i $salg skal der ikke være ' i stedet for " nogle steder?

$salg = "Efterkrav <div style=\"text-align:center\">kr. 78,75</div>";
til
$salg = "Efterkrav <div style=\'text-align:center\'>kr. 78,75</div>";

Da gåse øjene bare vil være som slut på en tekst string og ' vil virke som gåseøjne i html!

Nå nej du har \ foran!

Skal der ikke noget & mellem insert værdier?
--
ellers ved jeg ikke... eller kan jeg ikke se fejl!

Accepteret svar
Fra : rfh

Modtaget 20 point
Dato : 14-08-04 21:07

Hej anetteogjesper

Husk at lukke indlæg på http://www.kandu.dk/dk/spg/46769 , dit problem er løst

mh
rfh

Kommentar
Fra : rfh


Dato : 14-08-04 21:09

Hej anetteogjesper

Lille taste fejl !!!

Husk at lukke indlæg, dit problem er løst http://www.kandu.dk/dk/spg/46769

mh
rfh

Godkendelse af svar
Fra : anetteogjesper


Dato : 14-08-04 21:17

Tak for svaret rfh.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste