Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP Warenkorb mit Datenbank (MySQL)

Empfohlene Antworten

Veröffentlicht

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);
?>

die datenbak hat 2 folgende tabellen:

1. produkt mit foelngen spalten:

pid (primärschlüssel, artikelbez, artikelnr, preis

2. warenkorb mit folgenden spalten:

wkid (primärschlüsslel), sid, pid, artikelbez, artikelnr, menge, stkpreis

das muss irgendwie an der session.php liegen. wenn ich die kommentare wegnehme, steht da, Session nicht aktiv.

kann mir da jemand weiter hlefen?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.