Guten Abend,
Habe mich mal an einen kleinen Onlineshop gewagt der zunächst einmal Produkte aus einem Array anbietet, später werd ich diese mit einer Datenbank natürlich erweitern.
Das Array sieht folgendermaßen aus:
Hier starte ich auch die Session. Diese Datei include ich dann in meine index.php
wo die Werte im array aufbereitet werden mit eienr foreach schleife und ausgegeben werden. so nun zu meinem ersten Problem. ich habe zusätzlich ein loesch.php erstellt die einzelne Werte die ich in den Warenkorb lege wieder heruasslöscht. die Datei sieht so aus:
die inkludierte oben.php datei is die Datei wo das Array sich befindet.Nun bekomme ich wenn ich einen Eintrag lösche eine Fehlermeldung "Undefined index: warenkorb" ich kann mir das nich erklären die $_SESSION['warenkorb'] müsste aber existieren, als Folgefehler kommt noch "in_array() parameters 2 to be array.." dieser Fehler is mir klar da er mit der $_SESSION nix anfangen kann. Nun gibt er die erste Bedingung aus das kein Produkt ausgewählt ist, und löscht nicht nur den ausgewählten Eintrag sondern alle Einträge. Habt ihr dazu vielleicht eine Idee?Weil ich werd dazu nich schlau der code sollte richtig sein.
mfg
AzoZ
Habe mich mal an einen kleinen Onlineshop gewagt der zunächst einmal Produkte aus einem Array anbietet, später werd ich diese mit einer Datenbank natürlich erweitern.
Das Array sieht folgendermaßen aus:
PHP-Code:
ini_set("session.use_cookies", "0");
ini_set("url_rewriter.tags","");
session_start();
$waren = array(
'1' => array(
'name' => 'Äpfel',
'titel' => '<img src = "Bilder/apfel.jpg" title="Apfel" width="200" height="200"',
'preis' => 3.00,
'text' => 'Das hier sind hochwertige Äpfel',
'nr' => 'Obst-01'
),
'2' => array(
'name' => 'Birnen',
'titel' => '<img src = "Bilder/birnen.jpg" title="Birne" width="200" height="200"',
'preis' => 3.50,
'text' => 'Das hier sind hochwertige Birnen',
'nr' => 'Obst-02'
),
'3' => array(
'name' => 'Bananen',
'titel' => '<img src = "Bilder/banane.jpg" title="Birne" width="200" height="200"',
'preis' => 2.50,
'text' => 'Das hier sind hochwertige Bananen',
'nr' => 'Obst-03'
)
);
PHP-Code:
include ('oben.php');
?>
<h2>Produkte</h2><hr>
<?php
foreach ($waren as $id => $produkt) {
printf('
<fieldset><legend><h3>%s</h3></legend>
<table>
<tr>
<td>
%s
</td>
<td>
<ul type ="square">
<li>Preis:</li>
<ul>
<li>Euro %01.2f</li>
</ul>
<li>Genaue Beschreibung:</li>
<ul>
<li>%s</li>
</ul>
</ul>
</td>
</tr>
</table>
<a href="setkorb.php?id=%d&%s">In den Warenkorb</a>
<br>
</fieldset>
<br>
<br>
',
$produkt['name'],
$produkt['titel'],
$produkt['preis'],
$produkt['text'],
$id,
SID
);
}
PHP-Code:
include ('oben.php');
// Wenn kein Produkt ausgewählt wurde, oder
// das Produkt nicht im warenkorb ist...
if(!isset($_GET['id']) ||
!in_array($_GET['id'], $_SESSION['warenkorb'])) {
print("Sie haben dieses Produkt noch nicht bestellt
oder kein Produkt ausgewählt.");
}else{
foreach ($_SESSION['warenkorb'] as $id => $produkt) {
if( $produkt == $_GET['id']) {
unset($_SESSION['warenkorb'][$id]);
}
}
print "<p>Das Produkt wurde aus dem Warenkorb gelöscht.</p>";
}
mfg
AzoZ
Kommentar