Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Alles hat ein Ende...

Eine Weisheit der Dakota-Indianer sagt:
"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!"

Vor fast fünf Jahren habe ich die NOF-Community gegründet und nachdem just zu diesem Zeitpunkt das „alte NOF-Forum“ quasi über Nacht vom Betreiber geschlossen wurde, war mein Forum für viele Nutzer von NetObjects Fusion eine willkommene Alternative.

Inzwischen sind weit über 5000 NetObjects-Nutzer in der NOF-Community registriert und täglich kommen weitere hinzu. An interessierten Mitgliedern fehlt es also nicht. Was aber fehlt, sind Mitglieder, die Lust haben, anderen Nutzern bei der Lösung ihrer vielfältigen Probleme in der Anwendung von NetObjects Fusion zu helfen. Vielleicht, weil viele von ihnen - ebenso wie ich - das Interesse an NOF verloren haben und zwischenzeitlich mit anderen Programmen arbeiten.

Aktuell ist es so, dass der Support wie die Kosten für den Betrieb der NOF-Community fast ausschließlich von mir übernommen werden. Dies, und die Tatsache, dass ich die Arbeit mit NetObjects Fusion nicht mehr für zeitgemäß halte, veranlasst mich, den aktiven Forenbetrieb zu beenden. Die Beiträge, Tipps und Anleitungen aus den letzten Jahren stehen ab heute nur noch als Nachschlagewerk zur Verfügung.

Ich bedanke mich an dieser Stelle ganz herzlich bei allen, die mich und die NOF-Community in den vergangenen Jahren unterstützt haben.

Beste Grüße nettesekel

Die letzten Beiträge

Autor Thema: PHP und MySQL -> Erstellung einer kleinen Shoplösung  (Gelesen 2276 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Hans K.

  • Gast
PHP und MySQL -> Erstellung einer kleinen Shoplösung
« am: 03. Juni 2013, 21:36:35 »
Hin und wieder kommt es vor, dass ein kleiner Shop benötigt wird. Dieser kann durchaus mit PHP und einer MySQL Datenbank realisiert werden.

Dabei ist allerdings zu bedenken, es handelt sich hierbei nicht um eine vollwertige Lösung mit allen erdenklichen Funktionen. Beispielsweise ist es nicht möglich Artikel mit Stückzahlen zu verwalten. Sollten mehrere gleiche Artikel benötigt werden, müssen diese als weitere Artikel hinzugefügt werden.

Sicherlich kann das Script in einigen Punkten erweitert werden, aber wir wollen zunächst einmal den Shop erstellen.  :)

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #1 am: 03. Juni 2013, 21:42:11 »
Als erstes wird der Speicherplatz für die Artikel geschaffen. Dafür muss eine Tabelle in der MySQL Datenbank angelegt werden (Zugang ist der Anleitung des Providers zu entnehmen).

Die Tabelle bekommt die Bezeichnung: Shop

Benötigt werden 3 Felder:
ID - eine fortlaufende ID, welcher die Funktion auto_increment vergeben werden muss (automatischer Zähler)
Produkt - die Artikel
Preis - der Preis der Artikel

Die Felder müssen noch als Typ definiert werden:

ID              int(11)
Produkt     Text
Preis         int(11)

int(11) ist ein reines Zahlenfeld, text ist ein reines Textfeld ohne Einschränkung.

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #2 am: 03. Juni 2013, 21:49:16 »
Damit wir auch Ergebnisse sehen, geben wir zunächst Daten in der Datenbank ein. Wir können das entweder per Formular machen (http://www.nof-community.de/index.php?topic=995.0 oder direkt in der MySQL-Datenbank.

Da wir die Tabelle gerade eben in der Datenbank angelegt haben, macht es Sinn diese direkt in der Datenbank einzufügen. Also über "Einfügen" legen wir nun Artikel an. Dabei müssen wir nur den Artikel und den Preis eintragen, die ID generiert sich selber.

Wir tragen vier Artikel ein:
Produkt 1 Fernseher       500
Produkt 2 Motorrad         4599
Produkt 3 Handy             400
Produkt 4 Radio              299

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #3 am: 03. Juni 2013, 21:52:16 »
Nun erstellen wir mit NOF eine neue Seite, welche wir auf PHP umstellen:
Umstellung der Seite auf PHP

Dann wird die Verbindung zu der MySQL Datenbank hergestellt.
Verbindung zur MySQL Datenbank herstellen

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #4 am: 03. Juni 2013, 22:00:17 »
In den Layout-Eigenschaften haben wir den Code für die Datenbankverbindung eingegeben, diesen ergänzen wir nun:

Code: PHP
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4.  
  5. if($_GET['action']=='add'){
  6.     echo "<div>" . $_GET['produkt'] . " wurde dem Warenkorb hinzugefügt.</div>";
  7. }
  8.  
  9. if($_GET['action']=='exists'){
  10.     echo "<div>" . $_GET['produkt'] . " liegt bereits im Warenkorb.</div>";
  11. }
  12.  
  13. $sql="SELECT ID, Produkt, Preis FROM Shop";
  14. $result = mysql_query($sql);
  15.  
  16. $num = mysql_num_rows($result);
  17.  
  18. ?>

Mit GET['action'] wird abgefragt, ob ein Artikel bereits im Warenkorb liegt, oder ob er hinzugefügt wurde (nach Betätigung des Buttons hinter dem Artikel).
Mit der sql-Abfrage werden alle Artikel ausgelesen, welche in der Datenbank vorhanden sind.

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #5 am: 03. Juni 2013, 22:17:19 »
Nun ziehen wir ein Textfeld auf und geben im HTML-Tag folgenden Code vor dem Tag ein:

Code: PHP
  1. <?php
  2. $cartItemCount = count($_SESSION['cart']);
  3. ?>
  4.  
  5. <div>
  6. <a href='produktliste.php'>Produktliste[/url]
  7. <a href='warenkorb.php'>Warenkorb <?php echo "({$cartItemCount})";?>[/url]
  8. </div>
  9.  
  10. <?php
  11.  
  12. if($num>0){
  13. echo "<table border='0'>";
  14. echo "<tr>";
  15.  echo "<th>Produkt</th>";
  16. echo "<th>Preis (Euro)</th>";
  17. echo "<th>Action</th>";
  18. echo "</tr>";
  19.        
  20. while ($row = mysql_fetch_array($result)) {
  21.  
  22. echo "<tr>";
  23. echo "<td>". $row["Produkt"]. "</td>";
  24. echo "<td>". $row["Preis"]. "</td>";
  25. echo "<td>";
  26. echo "<a href='addtocart.php?id=". $row["ID"]. "&produkt=". $row["Produkt"]. "'>";
  27. echo "<img src='images/kaufen.png' title='Artikel in den Warenkorb legen' />";
  28. echo "[/url]";
  29. echo "</td>";
  30. echo "</tr>";
  31. }
  32.  
  33. echo "</table>";
  34. }
  35.  
  36. else{
  37. echo "Aktuell wird kein Artikel zum Kauf angeboten.";
  38. }
  39. ?>

In den ersten Zeilen
<a href='produktliste.php'>...
<a href='warenkorb.php'>...
müssen wir die Namen der Seiten in NOF angeben. Also die Seite welche wir gerade erstellen, ist die produktliste

Außerdem gibt es noch die Seite addtocart
echo "<a href='addtocart.php

Zudem gibt es noch Bilder, welche der User anklicken soll:
echo "<img src='images/kaufen.png

Diese Bilder müssen noch erstellt werden und im Ordner images abgelegt werden.

Nach dem Tag ist noch das einzugeben:
Code: HTML5
  1. -->
« Letzte Änderung: 03. Juni 2013, 22:19:50 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #6 am: 03. Juni 2013, 22:27:32 »
Wenn bis hierhin alles korrekt eingeben ist, sollten wir bereits ein Ergebnis sehen.

Dabei haben wir zwei Links mit eingefügt, um zwischen der Artikelseite und dem Warenkorb wechseln zu können:
Produktliste Warenkorb ()

(Die Zahl 4 auf dem Bild im Link Warenkorb ist die Anzahl der Artikel, welche sich im Warenkorb befindet. Diese sehen wir erst, wenn die nächste Seite angelegt wird, damit die Buttons funktionieren).  ;-)

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #7 am: 03. Juni 2013, 22:35:17 »
Als Nächstes legen wir eine weitere Seite in NOF an. Diese nennen wir addtocart - den Namen hatten wir eben auf der Produktseite verwendet.

Die Seite stellen wir ebenfalls auf PHP um und in den Layout-Eigenschaften geben wir folgenden Code ein:

Code: PHP
  1. <?php
  2.  
  3. $ID = $_GET['id'];
  4. $Produkt = $_GET['produkt'];
  5.  
  6. if(!isset($_SESSION['cart'])){
  7. $_SESSION['cart'] = array();
  8. }
  9.  
  10. if(in_array($ID, $_SESSION['cart'])){
  11.  
  12. header('Location: produktliste.php?action=exists&id' . $ID . '&produkt=' . $Produkt);
  13. }
  14.  
  15. else{
  16. array_push($_SESSION['cart'], $ID);
  17.    
  18. header('Location: produktliste.php?action=add&id' . $ID . '&produkt=' . $Produkt);
  19. }
  20.  
  21. ?>

Damit ist die Seite auch schon fertig und kann publiziert werden. Diese Seite ist nur für den Code, die User werden diese nicht sehen.

Mit dieser Seite wird die Artikel-ID in einer Session abgelegt. Dieses ist erforderlich, damit wir die Artikel auch zum Warenkorb "mitnehmen" können.

Ist die Seite online, funktionieren die Buttons hinter den Artikeln bereits. Wir können nun alle Artikel hinzufügen.

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #8 am: 03. Juni 2013, 22:39:55 »
Nun erstellen wir eine weitere Seite in NOF, welche den Namen warenkorb bekommt. Auch diesen Namen haben wir bereits in der Produktseite festgelegt.

Wie gehabt stellen wir auf PHP um:
Umstellung der Seite auf PHP

und stellen die Verbindung zu der MySQL Datenbank her.
Verbindung zur MySQL Datenbank herstellen

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #9 am: 03. Juni 2013, 22:41:20 »
In den Layout-Eigenschaften haben wir den Code für die Datenbankverbindung eingegeben, diesen ergänzen wir nun:

Code: PHP
  1. <?php
  2.  
  3.  
  4. if($_GET['action']=='removed'){
  5. echo "<div>" . $_GET['produkt'] . " wurde aus dem Warenkorb gelöscht.</div>";
  6. }
  7.    
  8. if(isset($_SESSION['cart'])){
  9. $IDs = "";
  10. foreach($_SESSION['cart'] as $ID){
  11. $IDs = $IDs . $ID . ",";
  12. }
  13.  
  14. $IDs = rtrim($IDs, ',');
  15.      
  16. $sql = "SELECT ID, Produkt, Preis FROM Shop WHERE ID IN ($IDs)";
  17. $result = mysql_query($sql);
  18.        
  19. ?>

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #10 am: 03. Juni 2013, 23:03:15 »
Nun ziehen wir ein Textfeld auf und geben im HTML-Tag folgenden Code vor dem Tag ein:

Code: PHP
  1. <?php
  2.  
  3. $cartItemCount = count($_SESSION['cart']);
  4. ?>
  5.  
  6. <div>
  7. <a href='produktliste.php'>Produktliste[/url]
  8. <a href='warenkorb.php'>Warenkorb <?php echo "({$cartItemCount})";?>[/url]
  9. </div>
  10.  
  11. <?php
  12.  
  13. if($cartItemCount>0){
  14. echo "<table border='0'>";
  15. echo "<tr>";
  16. echo "<th>Produkt</th>";
  17. echo "<th>Preis (Euro)</th>";
  18. echo "<th>Action</th>";
  19. echo "</tr>";
  20.                
  21. $totalPrice = 0;
  22.  
  23. while ($row = mysql_fetch_array($result)){
  24.                    
  25. $totalPrice += $row["Preis"];
  26.                    
  27. echo "<tr>";
  28. echo "<td>". $row["Produkt"]. "</td>";
  29. echo "<td>". $row["Preis"]. "</td>";
  30. echo "<td>";
  31. echo "<a href='removefromcart.php?id=". $row["ID"]. "&produkt=". $row["Produkt"]. "'>";
  32. echo "<img src='images/loschen.png' title='Artikel aus dem Warenkorb löschen' />";
  33. echo "[/url]";
  34. echo "</td>";
  35. echo "</tr>";
  36. }
  37. echo "<tr>";
  38. echo "<th>Gesamtpreis</th>";
  39. echo "<th>{$totalPrice}</th>";
  40. echo "<th></th>";
  41. echo "</tr>";
  42.  
  43. echo "</table>";
  44.  
  45.             echo "[br /]<div><a href='checkout.php'>";
  46.             echo "<img src='images/bestellen.png' title='Artikel bestellen.' />";
  47.                             echo "[/url]";
  48.  
  49. }else{
  50. echo "<div>Noch keine Artikel im Warenkorb.</div>";
  51. }
  52.  
  53. }else{
  54. echo "<div>Noch keine Artikel im Warenkorb.</div>";
  55. }
  56. ?>
  57.  
  58. <!--

Es gibt somit die Seite removefromcart, welche wir noch anlegen müssen.
echo "<a href='removefromcart.php

Zudem gibt es noch Bilder, welche der User anklicken soll:
echo "<img src='images/loschen.png
echo "<img src='images/bestellen.png

Diese Bilder müssen noch erstellt werden und im Ordner images abgelegt werden.

Nach dem Tag ist noch das einzugeben:
Code: HTML5
  1. -->
« Letzte Änderung: 04. Juni 2013, 21:33:29 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #11 am: 03. Juni 2013, 23:07:16 »
Wenn erneut alles korrekt ist, sollten wir nun den Warenkorb sehen:
« Letzte Änderung: 04. Juni 2013, 21:34:57 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #12 am: 03. Juni 2013, 23:10:02 »
Als Nächstes legen wir eine weitere Seite in NOF an. Diese nennen wir removefromcart - den Namen hatten wir eben im Warenkorb verwendet.

Die Seite stellen wir ebenfalls auf PHP um und in den Layout-Eigenschaften geben wir folgenden Code ein:

Code: PHP
  1. <?php
  2.  
  3. $ID = $_GET['id'];
  4. $Produkt = $_GET['produkt'];
  5.  
  6. if(!isset($_SESSION['cart'])){
  7.     $_SESSION['cart'] = array();
  8. }
  9.  
  10. $_SESSION['cart'] = array_diff($_SESSION['cart'], array($ID));
  11.  
  12. header('Location: warenkorb.php?action=removed&id=' . $ID . '&produkt=' . $Produkt);
  13. ?>

Damit ist die Seite auch schon fertig und kann publiziert werden. Diese Seite ist nur für den Code, die User werden diese nicht sehen.

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #13 am: 03. Juni 2013, 23:15:12 »
Als Letztes legen wir eine weitere Seite in NOF an. Diese nennen wir checkout - den Namen hatten wir eben im Warenkorb verwendet.

Die Seite stellen wir ebenfalls auf PHP um und in den Layout-Eigenschaften geben wir folgenden Code ein:

Code: PHP
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4.  
  5. if(isset($_SESSION['cart'])){
  6. $IDs = "";
  7. foreach($_SESSION['cart'] as $ID){
  8. $IDs = $IDs . $ID . ",";
  9. }
  10.  
  11. $IDs = rtrim($IDs, ',');
  12.  
  13. $sql = "SELECT ID, Produkt, Preis FROM Shop WHERE ID IN ($IDs)";
  14. $result = mysql_query($sql);
  15.  
  16. $admin= 'Webmaster@meineSeite.de';
  17. $subject= "Neuer Kauf getätigt";
  18. $message = "";
  19.  
  20. while ($row = mysql_fetch_array($result)){
  21.  
  22. $message .= "Produkt: ";
  23. $message .= $row["Produkt"];
  24. $message .= " für den Preis von ";
  25. $message .= $row["Preis"];
  26. $message .= " Euro.
  27. ";
  28.  
  29. }
  30.  
  31. mail($admin, $subject, $message, "From:$admin");
  32.  
  33.  
  34. }
  35.  
  36. header('Location: produktliste.php');            
  37. ?>
  38.  

Dabei wird bei Webmaster@meineSeite.de die Mailadresse eingegeben, wo die Bestellmail ankommen soll und "Neuer Kauf getätigt" ist die Betreffzeile der Mail.

Wenn die Mail gesendet wird, lösen wir die Session auf und der Warenkorb ist leer.
Auch diese Seite sieht der User nicht und kann nun publiziert werden.
« Letzte Änderung: 04. Juni 2013, 21:44:43 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung einer kleinen Shoplösung
« Antwort #14 am: 04. Juni 2013, 21:51:31 »
Damit ist die kleine Shoplösung fertig.

Sicherlich gibt es diverse Möglichkeiten, den Kaufabschluss umzusetzen. Anstelle einer Bestellmail kann man die Daten auch in eine weitere Datenbank schreiben, oder auch Beides...

Viel Spaß damit.  :)

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

 


Wenn dir dieser Artikel gefallen hat, dann empfehle ihn doch weiter... ;)