Inhalt des Warenkorbes per E-Mail versenden

Buschtrommel

Grünschnabel
Schönen guten Abend.

Ich google nun schon seit vielen Stunden und komme nicht weiter, ich hoffe, dass hier vielleicht jemand ein Tipp hat.

Habe ein Warenkorbsystem (ohne Shop) gefunden welches all meine Wünsche erfüllt, nun ja fast.
Habe den Code schon so umgebaut, wie ich ihn gerne hätte (poste hier jedoch die Originalversion) - meine Frage ist nun,
wie verschicke ich die Ergebnisse der Bestellung per Email (den dynamischen Teil der "Kasse")?!
Der User sollte anbei noch seine Kontaktdaten mitsenden.

Wäre super, wenn mir jmd helfen könnte.

PHP:
<?php
  /**
   * Warenkorb-Beispiel
   *
   * Dies ist ein Veranschauungsbeispiel für einen Warenkorb,
   * der über eine Session vorgehalten wird. Es besteht die Möglichkeit,
   * Artikel hinzuzufügen, zu entfernen und den gesamten Warenkorb zu löschen.
   * Folgende Werte werden in der Übersicht angezeigt:
   * Art.-Nr, Art.-Text, Anzahl, Einzelpreis, Gesamtpreis Artikel, Gesamtpreis Bestellung
   *
   * @author Beepa (released auf www.bituniverse.com)
   * @license Zur freien Verfügung, solange dieser Header bestehen bleibt.
   */
   
  // Session starten
  session_start();
 
 
  // Prüfen ob Warenkorb oder einzelne Artikel gelöscht werden soll
  if($_GET['modus'] == 'del_basket')
  {
    // Warenkorb neu als Array deklarieren und damit löschen / resetten
    $_SESSION['warenkorb'] = array();
  }
  elseif($_GET['modus'] == 'del_art')
  {
    // einzelnen Artikel löschen
    unset($_SESSION['warenkorb'][$_GET['art_nr']]);
  }
 
 
  // Array mit den Artikeln (aus DB / Datei / hardcodiert?!)
  // Der Array-Index des Artikel-Arrays ist die Art.-Nr.
  // Der zum Index gehörige Value ist ein mehrdimensionales Array mit
  // den Indizes
  //  - art_txt für die Artikel-Beschreibung
  //  - art_preis für den Artikel-Preis
  $artikel_array = array();
  $artikel_array['A001'] = array('art_txt' => 'Artikel 1', 'art_preis' => 1.00);
  $artikel_array['A002'] = array('art_txt' => 'Artikel 2', 'art_preis' => 2.50);
  $artikel_array['A003'] = array('art_txt' => 'Artikel 3', 'art_preis' => 3.00);
  $artikel_array['A004'] = array('art_txt' => 'Artikel 4', 'art_preis' => 4.50);
  $artikel_array['A005'] = array('art_txt' => 'Artikel 5', 'art_preis' => 5.00);
  $artikel_array['A006'] = array('art_txt' => 'Artikel 6', 'art_preis' => 6.95);
  $artikel_array['A007'] = array('art_txt' => 'Artikel 7', 'art_preis' => 7.99);
  $artikel_array['A008'] = array('art_txt' => 'Artikel 8', 'art_preis' => 8.00);
  $artikel_array['A009'] = array('art_txt' => 'Artikel 9', 'art_preis' => 9.49);
  $artikel_array['A010'] = array('art_txt' => 'Artikel 10', 'art_preis' => 10.00);
 
 
  // Gibt es schon einen Warenkorb in der Session
  if(!isset($_SESSION['warenkorb']))
  {
    // Gibt es nicht - also anlegen
    $_SESSION['warenkorb'] = array();
  }
 
 
  // Artikel hinzufügen
  if(!empty($_POST['anzahl']) && $_POST['anzahl'] > 0)
  {
   
    // Prüfen ob erhöhen oder abziehen
    if($_POST['buchung'] == '+')
    {
      // Anzahl für den Artikel erhöhen
      $_SESSION['warenkorb'][$_POST['artikel']] += $_POST['anzahl'];
    }
    else
    {
     
      // Anzahl für den Artikel verringern
      if($_SESSION['warenkorb'][$_POST['artikel']] > $_POST['anzahl'])
      {
        // Es ist mehr von diesem Artikel im Warenkorb als abgezogen werden soll;
        // Gewünschte Anzahl abziehen
        $_SESSION['warenkorb'][$_POST['artikel']] -= $_POST['anzahl'];
      }
      else
      {
        // Es soll mehr von diesem Artikel aus dem WK entfernt werden als vorhanden;
        // Artikel aus dem WK entfernen
        unset($_SESSION['warenkorb'][$_POST['artikel']]);
      }
     
    } // ENDE: else
   
  }  // ENDE: if(!empty($_POST['anzahl']) && $_POST['anzahl'] > 0)
 
 
  // Funktion für die Formatierung der Euro-Angaben
  function nrFormat($tmp)
  {
    return number_format($tmp, 2, ',', '.');
  }
 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
    <title>Warenkorb-Beispiel</title>
 
    <style type="text/css">
      body { font-family: Geneva, Arial, Helvetica, sans-serif; }
      table { background-color: #000066; padding: 5px; }
      table th { font-size: 12pt; background-color: #FF6600; padding: 5px; }
      table td { font-size: 10pt; background-color: #DFDFDF; padding: 5px; }
      .button { font-family: Arial, Tahoma, Verdana; font-size: 8pt; font-weight: bold; background-color: #FFFFFF; }
    </style>
 
  </head>
 
  <body>
   
    <!-- ########################################### -->
    <!-- # Start: Layout-Tabelle                   # -->
    <!-- ########################################### -->
         
    <table>
      <tr>
        <th colspan="2">Warenkorb-Beispiel:</th>
      </tr>
      <tr>
        <td valign="top">
         
          <!-- ########################################### -->
          <!-- # Start: Tabelle mit den Artikeln         # -->
          <!-- ########################################### -->
         
          <form action="warenkorb.php" method="post">
            <table width="400">
              <tr>
                <th>Ware:</th>
                <th>Anzahl:</th>
                <th>+ / -</th>
              </tr>
              <tr>
                <td>
                  <select size="1" name="artikel">
                    <?php
                      // Das Artikel-Array per foreach() abarbeiten
                      // $art_nr stellt die Artikel-Nr. dar und art_data
                      // ist das mehrdimensionale Array mit den Indizes 'art_text'
                      // und 'art_preis'
                      foreach($artikel_array as $art_nr => $art_data)
                      {
                        echo '<option value="' . $art_nr . '">' . $art_data['art_txt'] . ' für ' . nrFormat($art_data['art_preis']) . ' €/St.</option>';
                      }
                    ?>
                  </select>
                </td>
                <td align="center">
                  <input type="text" name="anzahl" size="5" maxlength="3">
                </td>
                <td align="center">
                  <select size="1" name="buchung">
                    <option value="+">+</option>
                    <option value="-">-</option>
                  </select>
                </td>
              </tr>
              <tr>
                <th colspan="3" align="left">
                  <input type="submit" value="hinzufügen / entfernen" class="button">
                </th>
              </tr>
            </table>
          </form>
         
          <!-- ########################################### -->
          <!-- # Ende: Tabelle mit den Artikeln          # -->
          <!-- ########################################### -->
         
        </td>
        <td valign="top">
         
          <!-- ########################################### -->
          <!-- # Start: Tabelle mit dem Warenkorb        # -->
          <!-- ########################################### -->
         
          <table width="600">
            <colgroup>
              <col width="50">
              <col width="330">
              <col width="50">
              <col width="50">
              <col width="100">
              <col width="20">
            </colgroup>
            <tr>
              <th colspan="6">Ihr Warenkorb</th>
            </tr>
            <tr>
              <th>Art.-Nr.:</th>
              <th>Beschreibung:</th>
              <th>Anzahl:</th>
              <th>St.:</th>
              <th>Gesamt:</th>
              <th>&nbsp;</th>
            </tr>
            <?php
              if(count($_SESSION['warenkorb']) > 0)
              {
                // Aufsteigend nach Art.-Nr. sortieren
                ksort($_SESSION['warenkorb']);
               
                // Zähler für die Gesamtsumme
                $summe = 0;
               
                foreach($_SESSION['warenkorb'] as $artikel => $anzahl)
                {
                  echo '<tr>';
                  echo '  <td align="center">' . $artikel . '</td>';
                  echo '  <td>' . $artikel_array[$artikel]['art_txt'] . '</td>';
                  echo '  <td align="center">' . $anzahl . '</td>';
                  echo '  <td align="right">' . nrFormat($artikel_array[$artikel]['art_preis']) . '&nbsp;€</td>';
                  echo '  <td align="right">' . nrFormat(($artikel_array[$artikel]['art_preis'] * $anzahl)) . '&nbsp;€</td>';
                  $summe += ($artikel_array[$artikel]['art_preis'] * $anzahl);
                  echo '<td align="center"><a href="warenkorb.php?modus=del_art&art_nr=' . $artikel . '" title="diesen Artikel aus dem Warenkorb entfernen" style="color: #FF0000; font-weight: bold;">X</a></td>';
                  echo '</tr>';
                }
              }
              else
              {
                echo '<tr><td colspan="6">Keine Ware im Warenkorb</td></tr>';
              }
            ?>
            <tr>
              <th colspan="4" align="left">Summe gesamt:</th>
              <th><?php echo nrFormat($summe); ?> €</th>
              <th><a href="warenkorb.php?modus=del_basket" title="kompletten Warenkorb löschen" style="color: #000000; font-weight: bold;">X</a></th>
            </tr>
          </table>
         
          <!-- ########################################### -->
          <!-- # Ende: Tabelle mit dem Warenkorb         # -->
          <!-- ########################################### -->
         
        </td>
      </tr>
      <tr>
        <th colspan="2" align="left">&nbsp;</th>
      </tr>
    </table>
   
    <!-- ########################################### -->
    <!-- # Ende: Layout-Tabelle                    # -->
    <!-- ########################################### -->
   
  </body>
</html>

Vielen Dank schonmal.
 
Zuletzt bearbeitet:
Moin,

geht es dir generell darum, wie man Sachen per Mail verschickt, oder eher darum, wie du die Daten zusammenbekommst, welche in die Mail sollen?
 
Vielen Dank für die Antwort.

Wie man Sachen per EMail verschickt weiß ich(PHP Script), jedoch nicht, wie ich die Bestellung + Kontaktdaten verschicke.
 
Mmmh, verstehe ich jetzt nicht.

Wenn du weisst, wie man Mails per PHP verschickt, dann musst du nur die entsprechenden Daten zu dem gewünschten String zusammenstellen, der als Mailtext erscheinen soll, und das ganze losschicken.
 
Zurück