Moin erstmal,
ich habe versucht mir ein kleinen Webshop zubasteln stehe aber gerade vor folgenden problem und zwar möcht ich aus der tabelle Artikel mein Angebot auslesen lassen klappt auch so weit. Hinter jedem Artikel und deren Preis ist der BUY-Button, wenn man ihn drückt öffnet sich das script warenkorb.php hier wird erstmal eine eindeutige ID für jede sitzung
vergeben.
Dann wird abgefragt ob der Artikel schon in der Tabelle Warenkorb ist, wenn ja zähle ein höher, wenn nein schreibe ihn hinein.
Hier fängt mein wirkliches problem an nun soll mit dem include-befehl die seite warenanzeige.php geöffnet werden um den warenkorb erstmal anzuzeigen, dies passiertaber nicht.
Ich weiss nicht woran das liegt ob der include-Befehl falsch ist oder ich irgendein schwerwiegenden Denkfehler eingebaut habe.
Ich danke schon mal im vorraus
Hier erstmal meine Seiten...
katalog.php: is denke ich unwichtig, vielleicht aber nicht
PHP-Code:
<html>
<head>
<title>Katalog</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?
$verbindung = mysql_connect("Localhost","root","");
if($verbindung)
{
$ergebnis = mysql_select_db("shop",$verbindung);
if($ergebnis)
{
$sql = "SELECT Artikel_nr, Artikelname , Einzelpreis FROM Artikel";
$ergebnis = mysql_query($sql, $verbindung);
if($ergebnis)
{
echo "<table>\n";
while($zeile=mysql_fetch_row($ergebnis))
{
echo "<tr>";
echo "<td>" . $zeile[1] . "</td>";
printf("<td align='right'>%.2f Euro</td>", $zeile[2]);
echo "<td>" .
"<a href='warenkorb.php?" .
"artikel_nr=" .$zeile[0] .
"'><img src='./buttons/buy.gif' alt='order'></a></td></tr>\n";
}
echo "</table>\n";
mysql_free_result($ergebnis);
}
else echo "Abfrage $sql konnte nicht ausgeführt werden<br>\n";
}
else echo "Datenbank konnte nicht ausgewählt werden<br>\n";
mysql_close();
}
else echo "Verbindung konnte nicht hergestellt werden<br>\n";
?>
</body>
</html>
PHP-Code:
<?
session_start();
$verbindung = mysql_connect("localhost","root","");
if ($verbindung)
{
$ergebnis = mysql_select_db("shop",$verbindung);
if($ergebnis)
{
// Abfrage ob der Artikel schon vorhanden ist
$sql = "UPDATE Warenkorb" .
"SET Anzahl = Anzahl + 1" .
"WHERE Session_id = '" . session_id() .
"'AND Artikel_nr = $artikel_nr";
mysql_query($sql, $verbindung);
$anz_zeilen = mysql_affected_rows();
if($anz_zeilen == 0)
{
// Wenn nicht dann eintragen
$sql = "INSERT INTO Warenkorb" .
"(Session_id, Artikel_nr, Timestamp, " .
" Anzahl) VALUES ('" . session_id() .
"', $artikel_nr," . $time() .", 1)";
mysql_query($sql, $verbindung);
}
include("warenanzeige.php");
//Hier soll die Seite aufgerufen werden wird sie aber nicht
}
else echo "Datenbank konnte nicht ausgewählt werden<br>\n";
mysql_close();
}
else echo "Verbindung konnte nicht hergestellt werden<br>\n";
?>
PHP-Code:
<?
session_start();
?>
<html>
<head><title>Warenkorb</tilte></head>
<body>
Hinweis: Um einen Artikel aus dem Warenkorb zu entfernen, setzen Sie bitte die Anzahl auf 0.<br>
<form method = "post" action="anzahl_aendern.php">
<?
$sql = "SELECT Artikel.Artikel_nr, Artikelname, " .
"Einzelpreis, Anzahl FROM Warenkorb, " .
"Artikel WHERE Warenkorb.Artikel_nr = " .
"Artikel.Artikel_nr AND Session_id = '" .
session_id() . "'";
$ergebnis = mysql_query($sql, $verbindung);
if($ergebnis)
{
echo "<table>\n";
// Auflistung der Bestellten Objekte
while($zeile=mysql_fetch_row($ergebnis))
{
echo "<tr>";
echo "<td>" . $zeile[1] . "</td>";
printf("<td>%.2f Euro</td>", $zeile[2]);
echo "<td>" . "<input type = 'text' name= 'artikelanzahl[" . $zeile[0] . "]' value='". $zeile[0] ."'></td>";
echo "</tr>\n";
}
echo "</table>\n";
mysql_free_result($ergebnis);
}
else echo "Abfrage $sql konnte nicht ausgeführt werden<br>\n";
?>
<input type ="submit" value="Bestellen">
<a href = "katalog.php">Zurück zur übersicht</a>
</form>
</body>
</html>
Kommentar