Suche nach als

Wahrenkorb Formular

Auf dieser Seite:

Ein Wahrenkorb ist ein Zwischenspeicher für Angaben zu Produkten oder Items, welche z.B. aus unterschiedlichen Formularen oder Linklisten ausgewählt wurden. Bei jeder Bestellung oder Auswahl wird eine Sessionvariable hinzugefügt oder gefüllt.

Wahrenkorb Formular

Das folgende Wahrenkorb-Formular zielt wieder auf diese Seite:
<form action="wahrenkorb_formular.php" method="post"> Auch andere Formulare könnten auf diese Seite zielen, denn hier werden alle Ausgewählten Items in einem Array zusammengeführt.

Wahrenkorb anschauen

Session Array füllen

Im Beisbiel erlaube ich nicht die mehrfache Bestellung des selben Items (eine Bestellung Tomaten wäre vielleicht ein Container voll oder eine Tonne). Das kann aber leicht abgeändert werden in einzelne Tomaten und Mehrfachbestellung.

empty()

is_array(), array_unique() und array_merge()

<?php
session_start
();
// Die Session ist eröffnet, ich kümmere mich hier nicht um ID oder Namen wie bei einem Login
// empty liefert TRUE, wenn Variable nicht definiert, leer oder gleich 0 ist
// wenn nicht existent wird ein leerer Array zugewiesen
if ( empty( $_SESSION['products'] ) ) {    
  
$_SESSION['products']=array();        
}
// der Session hinzufügen
// von Formular
if ( is_array$_POST['form_products'])) { // falls das ein (vorhandener) Array ist
 
$_SESSION['products'] = array_unique(     // entferne doppelte Werte
  
array_merge$_SESSION['products'],      // aus den beiden verschmolzenen Arrays
  
$_POST['form_products'] )
 );
}
// von Liste
if ( is_array$_GET['liste_products'] ) ) { // falls das ein (vorhandener) Array ist
  
if ($_GET['liste_products'][0] == "Tomaten" || $_GET['liste_products'][0] == "Gurken" || $_GET['liste_products'][0] == "Zwiebeln") {
    
$_SESSION['products'] = array_unique(          // entferne doppelte Werte
      
array_merge$_SESSION['products'],          // aus den beiden verschmolzenen Arrays
      
$_GET['liste_products'][0] )
    );
  }
}
?>

Wahrenkorb Linklisten

Falls auch von Linklisten (die auf diese Seite zielen) ausgewählt werden kann; wird mit dem Array $_GET statt $_POST übermittelt und empfangen. In diesem Fall ist die Eingabe aber ganz genau zu checken (bösen Code nicht einfach durchschleusen), ich weiss ja, was ich erwarte. (Bei grösseren Listen ist das natürlich eleganter zu vollziehen, als im Beispiel oben.

Wahrenkorb anschauen


Valid XHTML 1.0 Check den Code.

Wahrenkorb Zugriff >> << Session Logout
Ich bin hier: > PHP Lehrling >>> Wahrenkorb Formular
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 30.12.2010