Zum Inhalt springen

PHP Warenkorb mit Datenbank (MySQL)


Empfohlene Beiträge

Hallo,

ich habe mir ein Warenkorb erstellt. Die Artikel bzw. die Waren die in den Warenkorb gelegt werden,werden auch alle in die Datenbank gespeichert.

Nun zu meinem Problem:

Ich kann Waren auswählen und in den Warenkorb legen. Die Waren werden dann auch in die Datenbank gespeichert, aber sobald ich auf Warenkorb anzeigen klicke, steht da, momentn sind keine Ware im Warenkorb.

Hier mal meine Seite sascha - graf .org, damit dies eindeutiger wird. Die Seite wird alles zusammengeschrieben.

Hier mal mein Quellcode.

danke für eure hilfe

config.php


<?
include("session.php");
$db_server = "Mein MySQL-Host";
$db_name = "Datenbankname";
$db_user = "Benutzername";
$db_passwort = "Passwort";
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die
("Konnte keine Verbindung zur Datenbank herstellen! config.php");
$db_check = @MYSQL_SELECT_DB($db_name);
?>
[/php]

Session.php

[php]
<?
session_start();
if (isset($_SESSION["sid"])) {
// echo "Session aktiv";
// echo "<br>SID : ".$_SESSION["sid"];
// echo "<br>SESSION : ".session_encode();
} else {
// echo "Session nicht aktiv";
$tmp = md5(microtime());
$_SESSION["sid"]= $tmp;
}
?>

Warenkorb.php



<?
include("config.php");
if(!isset($_GET["action"])) $_GET["action"] = "";
$sid = $_SESSION["sid"];
if ($_GET["action"] == "insert"){
$pid = $_POST["pid"];
$menge = $_POST["menge"];
if ($menge == "0") header("Location: warenkorb.php");
else {

$result = mysql_query("SELECT artikelbez, artikelnr, preis FROM produkt WHERE pid = '$pid'");
$show = mysql_fetch_array($result);

$artikelbez = $show["artikelbez"];
$artikelnr = $show["artikelnr"];
$preis = $show["preis"];

$result = mysql_query("SELECT wkid FROM warenkorb WHERE sid = '$sid' AND pid = '$pid'");
$num = mysql_num_rows($result);

if ($num == "0") mysql_query("INSERT INTO warenkorb VALUES('','$sid','$pid','$artikelbez','$artikelnr' ,'$menge','$preis')");
else mysql_query("UPDATE warenkorb SET menge=menge+$menge WHERE sid = '$sid' AND pid = '$pid'");

header("Location: warenkorb.php");
}
}

if ($_GET["action"] == "edit"){

$wkid = $_GET["wkid"];
$menge = $_POST["menge"];

if ($menge == "0"){
mysql_query("DELETE FROM warenkorb WHERE wkid = '$wkid'");
header("Location: warenkorb.php");
}else{
mysql_query("UPDATE warenkorb SET menge = '$menge' WHERE wkid = '$wkid'");
header("Location: warenkorb.php");
}
}

if ($_GET["action"] == "delete"){

$wkid = $_GET["wkid"];

mysql_query("DELETE FROM warenkorb WHERE wkid = '$wkid'");
header("Location: warenkorb.php");
}

if ($_GET["action"] == "delete_all"){
mysql_query("DELETE FROM warenkorb WHERE sid = '$sid'");
header("Location: warenkorb.php");
}

if ($_GET["action"] == ""){

$result = mysql_query("SELECT wkid FROM warenkorb WHERE sid = '$sid'");
$num = mysql_num_rows($result);

if ($num == "0") $warenkorb = "leer";
else $warenkorb = "voll";
?>

<html>
<head>
<title>Online CD - Shop Warenkorb</title>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
<tr>
<td align="center">
<table border="1" bordercolor="#000000" cellpadding="5" cellspacing="1" height="100%" width="800" rules="groups">
<tr>
<td align="center" colspan="6" valign="top">
<font color="#000000" face="verdana,arial" size="-1"><b>Warenkorb</b></font>
</td>
</tr>
<tr>
<td colspan="6"> </td>
</tr>
<tr>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelbezeichnung</b></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelnummer</b></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Menge</b></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>E. Preis</b></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Gesamt</b></font></td>
<td> </td>
</tr>
<tr>
<td colspan="6"> </td>
</tr>
<?
if ($warenkorb == "leer"){
?>
<tr>
<td align="center" colspan="6"><font color="#FF0033" face="verdana,arial" size="-1"><b>Ihr Warenkorb ist leer!</b></font></td>
</tr>
<?
}else{

$result = mysql_query("SELECT wkid, artikelbez, artikelnr, menge, stkpreis FROM warenkorb WHERE sid = '$sid'");
while($row = mysql_fetch_object($result)){

$wkid = $row -> wkid;
$artikelbez = $row -> artikelbez;
$artikelnr = $row -> artikelnr;
$menge = $row -> menge;
$stkpreis = $row -> stkpreis;

$gespreis = $menge * $stkpreis;

if(!isset($endpreis_ohne_versandkosten)) $endpreis_ohne_versandkosten = "";

$endpreis_ohne_versandkosten = $endpreis_ohne_versandkosten + $gespreis;
?>
<form action="warenkorb.php?action=edit&wkid=<? echo $wkid ?>" method="post">
<tr>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelbez ?></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelnr ?></font></td>
<td align="center"><input type="text" name="menge" value="<? echo $menge ?>" maxlength="3" size="2"> <input type="submit" name="aendern" value="Ändern"></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b><? echo $stkpreis ?> €</b></font></td>
<td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $gespreis ?> €</b></font></td>
<td align="center"><a href="warenkorb.php?action=delete&wkid=<? echo $wkid ?>" title="Artikel aus dem Warenkorb löschen"><font face="verdana,arial" size="-2">Löschen</font></a></td>
</tr>
</form>
<?
}
?>
<tr>
<td colspan="6"> </td>
</tr>
<tr>
<td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Gesamtpreis:</b></font></td>
<td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $endpreis_ohne_versandkosten ?> €</b></font></td>
<td> </td>
</tr>
<tr>
<td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Versandkosten:</b></font></td>
<td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b>5.00 €</b></font></td>
<td> </td>
</tr>
<tr>
<td align="right" colspan="6"> </td>
</tr>
<? $endpreis = $endpreis_ohne_versandkosten + 5;
?>
<tr>
<td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Endpreis:</b></font></td>
<td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $endpreis ?> €</b></font></td>
<td> </td>
</tr>
<tr>
<td align="right" colspan="6"> </td>
</tr>
<tr>
<td align="right" colspan="4"><a href="warenkorb.php?action=delete_all" title="Ganzer Warenkorb löschen">Warenkorb löschen</a></td>
<td align="center"><a href="bestellformular.php" title="Zum Bestellformular">Bestellen</a></td>
<td> </td>
</tr>
<?
}
?>
<tr>
<td colspan="6" height="100%"> </td>
</tr>
</table>
</td>
</tr>
</table>

</body>
</html>

<?
}
?>

<?
@MYSQL_CLOSE($db);
?>
[/php]

index.php

[php]
<?

include("config.php");

?>

<html>
<head>
<title>Online CD - Shop</title>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
<tr>
<td align="center">
<table border="1" bordercolor="#000000" cellpadding="5" cellspacing="1" height="100%" width="800" rules="groups">
<tr>
<td align="center" colspan="4" valign="top">
<font color="#000000" face="verdana,arial" size="-1"><b>CD - Online Shop</b></font>
</td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Nr.</b></font></td>
<td align="left"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelbezeichnung</b></font></td>
<td align="left"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelnummer</b></font></td>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Preis</b></font></td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<?
/*
* Hier werden nach den Artikel aus der
* Datenbank gefragt und zugleich auch ausgelesen
*/

$result = mysql_query("SELECT pid, artikelbez, artikelnr, preis FROM produkt");
while($row = mysql_fetch_object($result)){

$pid = $row -> pid;
$artikelbez = $row -> artikelbez;
$artikelnr = $row -> artikelnr;
$preis = $row -> preis;
?>
<tr>
<td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $pid ?></font></td>
<td align="left"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelbez ?></font></td>
<td align="left"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelnr ?></font></td>
<td align="right"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $preis ?> €</b>   </font></td>
</tr>
<?
}
?>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td align="right" colspan="2"><font color="#000000" face="verdana,arial" size="-1"><b>Artikel</b></font></td>
<td align="left" colspan="2"><font color="#000000" face="verdana,arial" size="-1"><b>Menge</b></font></td>
</tr>
<tr>
<form action="warenkorb.php?action=insert" method="post">
<td align="right" colspan="2">
<select name="pid" size="1">
<?
/*
* Hier wird eine Auswahlliste erstellt
* Wo man den Artikel auswählen kann um diese dann
* in den Warenkorb einzufügen
*
* Abfrage der Artikel aus der DB
*/

$result = mysql_query("SELECT pid, artikelbez FROM produkt");
while($row = mysql_fetch_object($result)){

$artikelbez = $row -> artikelbez;
$pid = $row -> pid;

echo "<option value=\"" . $pid . "\">" . $artikelbez . "\r";

}
?>
</select>
</td>
<td align="left" colspan="2">
<?

?>
<input type="text" name="menge" value="1" maxlength="3" size="2">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<?

?>
<input type="submit" name="einfuegen" value="Einfügen">
</td>
<td align="center" colspan="2"><a href="warenkorb.php" title="Warenkorb anschauen">Warenkorb anschauen</a></td>
</tr>
<tr></form>
<td colspan="4" height="100%"> </td>
</tr>
</table>
</td>
</tr>
</table>

</body>
</html>

<?
@MYSQL_CLOSE($db);
?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...