Shop

Wenn du Fragen zu EasyHP hast, eröffne hier ein Thema.

Moderator: Supporter

Antworten
matze93
Inaktiv
Beiträge: 314
Registriert: 21. Januar 2009, 14:10

Shop

Beitrag von matze93 »

Hi,
ich versuche grade ein eigenes Shopsystem zu entwickeln:
1. wie kann ich nach Absenden oder Hinzufügen (nach der Aktion) den link weiter verlinken, sodass der User nicht nichts sieht?
2. wie kann der Fehler behoben werden, dass wenn ein Produkt in den Warenkorb hinzugefügt wird, die Artikelbezeichnung, Artikelnummer und die Preise stimmen.
3. wie kann ich die form.php machen in der die Adresse, die Bankdaten und die Namen gespeichert werden.
4. wie kann dann die EasyHP_form aussehen?

1. shop.php

Code: Alles auswählen

<?php

define("IN_EasyHP", true);

session_start();

if (!isset($_SESSION['captcha']) AND $_COOKIE['captcha_set'] != 'TRUE') {
	header("Location: captcha.php?link=shop.php");
}

include "includes/mysql.php";
include "common.php";
include "includes/website.php";
include("config.php");
 
?>
<html>
<head>
    <title>Online Shop</title>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
  <tr>
    <td align="center">
      <table border="1" bordercolor="#000000" cellpadding="5" cellspacing="1" height="100%" width="689" rules="groups">
        <tr>
          <td align="center" colspan="4" valign="top">
            <font color="#000000" face="verdana,arial" size="-1"><b>Online Shop</b></font>
          </td>
        </tr>
        <tr>
          <td colspan="4">&nbsp;</td>
        </tr>
        <tr>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Nr.</b></font></td>
          <td align="left"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelbezeichnung</b></font></td>
          <td align="left"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelnummer</b></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Preis</b></font></td>
        </tr>
        <tr>
          <td colspan="4">&nbsp;</td>
        </tr>
        <?
          
          $result = mysql_query("SELECT pid, artikelbez, artikelnr, preis FROM EasyHP_product");
            while($row = mysql_fetch_object($result)){
            
                $pid = $row -> pid;
                $artikelbez = $row -> artikelbez;
                $artikelnr = $row -> artikelnr;
                $preis = $row -> preis;
        ?>
        <tr>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $pid ?></font></td>
          <td align="left"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelbez ?></font></td>
          <td align="left"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelnr ?></font></td>
          <td align="right"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $preis ?> &euro;</b>&nbsp;&nbsp;&nbsp;</font></td>
        </tr>
        <?
            }
        ?>
        <tr>
          <td colspan="4">&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="2"><font color="#000000" face="verdana,arial" size="-1"><b>Artikel</b></font></td>
          <td align="left" colspan="2"><font color="#000000" face="verdana,arial" size="-1"><b>Menge</b></font></td>
        </tr>
        <tr>
          <form action="cart.php?action=insert" method="post">
          <td align="right" colspan="2">
            <select name="pid" size="1">
            <?
              
              $result = mysql_query("SELECT pid, artikelbez FROM EasyHP_product");
                 while($row = mysql_fetch_object($result)){
                
                     $artikelbez = $row -> artikelbez;
                     $pid = $row -> pid;
            
                     
                     echo "<option value=\"" . $pid . "\">" . $artikelbez . "\r";
                    
                }
            ?>
            </select>
          </td>
          <td align="left" colspan="2">
            <?

            ?>
            <input type="text" name="menge" value="1" maxlength="3" size="2">
          </td>
        </tr>
        <tr>
          <td align="center" colspan="2">
            <?

            ?>
            <input type="submit" name="einfuegen" value="Einf&uuml;gen">
          </td>
          <td align="center" colspan="2"><a href="cart.php" title="Warenkorb anschauen">Warenkorb anschauen</a></td>
        </tr>
        <tr></form>
          <td colspan="4" height="100%">&nbsp;</td>
        </tr>
      </table>
    </td>
  </tr>
</table>

</body>
</html>

<?
@MYSQL_CLOSE($db);

footer(0);

?>
2. cart.php

Code: Alles auswählen

<?php

define("IN_EasyHP", true);

session_start();

if (!isset($_SESSION['captcha']) AND $_COOKIE['captcha_set'] != 'TRUE') {
	header("Location: captcha.php?link=cart.php");
}

include "includes/mysql.php";
include "common.php";
include "includes/website.php";
include("../config.php");

 if(!isset($_GET["action"])) $_GET["action"] = "";

 $sid = $_SESSION["sid"];

 if ($_GET["action"] == "insert"){
    
    $pid = $_POST["pid"];
    $menge = $_POST["menge"];
	$artikelbez = $_POST["artikelbez"];
	$artikelnr = $_POST["artikelnr"];
    $preis = $_POST["preis"];
	
    if ($menge == "0") header("Location: cart.php");
    else {
        
         $result = mysql_query("SELECT artikelbez, artikelnr, preis FROM product WHERE pid = '$pid'");
         $show = mysql_fetch_array($result);
        
         $artikelbez = $show["artikelbez"];
         $artikelnr = $show["artikelnr"];
         $preis = $show["preis"];
        
         $result = mysql_query("SELECT wkid FROM EasyHP_cart WHERE sid = '$sid' AND pid = '$pid'");
         $num = mysql_num_rows($result);
        
         if ($num == "0") mysql_query("INSERT INTO EasyHP_cart VALUES('','$sid','$pid','$artikelbez','$artikelnr','$menge','$preis')");
         else mysql_query("UPDATE EasyHP_cart SET menge=menge+$menge WHERE sid = '$sid' AND pid = '$pid'");
        
         header("Location: cart.php");
    }
 }

 if ($_GET["action"] == "edit"){
    
     $wkid = $_GET["wkid"];
     $menge = $_POST["menge"];
    
     if ($menge == "0"){
         mysql_query("DELETE FROM EasyHP_cart WHERE wkid = '$wkid'");
         header("Location: cart.php");
     }else{
         mysql_query("UPDATE EasyHP_cart SET menge = '$menge' WHERE wkid = '$wkid'");
         header("Location: cart.php");
     }
 }
 
 if ($_GET["action"] == "delete"){
    
     $wkid = $_GET["wkid"];
    
     mysql_query("DELETE FROM EasyHP_cart WHERE wkid = '$wkid'");
     header("Location: cart.php");
 }

 if ($_GET["action"] == "delete_all"){
     mysql_query("DELETE FROM EasyHP_cart WHERE sid = '$sid'");
     header("Location: cart.php");
 }

 if ($_GET["action"] == ""){
    
     $result = mysql_query("SELECT wkid FROM EasyHP_cart WHERE sid = '$sid'");
     $num = mysql_num_rows($result);
    
     if ($num == "0") $cart = "leer";
     else $cart = "voll";
     ?>
 
<html>
<head>
    <title>Online Shop-Warenkorb</title>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
  <tr>
    <td align="center">
      <table border="1" bordercolor="#000000" cellpadding="5" cellspacing="1" height="100%" width="689" rules="groups">
        <tr>
          <td align="center" colspan="6" valign="top">
            <font color="#000000" face="verdana,arial" size="-1"><b>Warenkorb</b></font>
          </td>
        </tr>
        <tr>
          <td colspan="6">&nbsp;</td>
        </tr>
        <tr>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelbezeichnung</b></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Artikelnummer</b></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Menge</b></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>E. Preis</b></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b>Gesamt</b></font></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td colspan="6">&nbsp;</td>
        </tr>
        <?

     
     if ($cart == "leer"){
        ?>
        <tr>
          <td align="center" colspan="6"><font color="#FF0033" face="verdana,arial" size="-1"><b>Ihr Warenkorb ist leer!</b></font></td>
        </tr>
        <?
         
         }else{
        
         $result = mysql_query("SELECT wkid, artikelbez, artikelnr, menge, stkpreis FROM EasyHP_cart WHERE sid = '$sid'");
         while($row = mysql_fetch_object($result)){
            
             $wkid = $row -> wkid;
             $artikelbez = $row -> artikelbez;
             $artikelnr = $row -> artikelnr;
             $menge = $row -> menge;
             $stkpreis = $row -> stkpreis;
            
             $gespreis = $menge * $stkpreis;
            
             if(!isset($endpreis_ohne_versandkosten)) $endpreis_ohne_versandkosten = "";
            
             $endpreis_ohne_versandkosten = $endpreis_ohne_versandkosten + $gespreis;
        ?>
        <form action="cart.php?action=edit&wkid=<? echo $wkid ?>" method="post">
        <tr>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelbez ?></font></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><? echo $artikelnr ?></font></td>
          <td align="center"><input type="text" name="menge" value="<? echo $menge ?>" maxlength="3" size="2"> <input type="submit" name="aendern" value="&Auml;ndern"></td>
          <td align="center"><font color="#000000" face="verdana,arial" size="-1"><b><? echo $stkpreis ?> &euro;</b></font></td>
          <td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $gespreis ?> &euro;</b></font></td>
          <td align="center"><a href="cart.php?action=delete&wkid=<? echo $wkid ?>" title="Artikel aus dem Warenkorb l&ouml;schen"><font face="verdana,arial" size="-2">L&ouml;schen</font></a></td>
        </tr>
        </form>
        <?
         }
        ?>
        <tr>
          <td colspan="6">&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Gesamtpreis:</b></font></td>
          <td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $endpreis_ohne_versandkosten ?> &euro;</b></font></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Versandkosten:</b></font></td>
          <td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b>4.95 &euro;</b></font></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="6">&nbsp;</td>
        </tr>
        <? $endpreis = $endpreis_ohne_versandkosten + 5;
        ?>
        <tr>
          <td align="right" colspan="4"><font color="#000000" face="verdana,arial" size="-1"><b>Endpreis:</b></font></td>
          <td align="center"><font color="#FF0033" face="verdana,arial" size="-1"><b><? echo $endpreis ?> &euro;</b></font></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="6">&nbsp;</td>
        </tr>
        <tr>
          <td align="right" colspan="4"><a href="cart.php?action=delete_all" title="Ganzer cart löschen">Warenkorb leeren</a></td>
          <td align="center"><a href="form.php" title="Zum Bestellformular">Bestellen</a></td>
          <td>&nbsp;</td>
        </tr>
        <?
         }
        ?>
        <tr>
          <td colspan="6" height="100%">&nbsp;</td>
        </tr>
      </table>
    </td>
  </tr>
</table>

</body>
</html>

<?
 }
?>

<?
@MYSQL_CLOSE($db);

footer(0);

?>
matze93
Inaktiv
Beiträge: 314
Registriert: 21. Januar 2009, 14:10

Re: Shop

Beitrag von matze93 »

Ach ja, der Shop kann dann von mir aus auch als Download freigegeben werden. Man sollte vielleicht noch ein Admin-Panel einfügen.
Ich brauche ihn eigentlich nicht.
Benutzeravatar
daniel
Ehemaliger
Beiträge: 413
Registriert: 13. März 2008, 16:49
Wie bist du auf EasyHP gekommen?: Werbung auf phpBB.de
Wohnort: Bremen
Kontaktdaten:

Re: Shop

Beitrag von daniel »

1. wie kann ich nach Absenden oder Hinzufügen (nach der Aktion) den link weiter verlinken, sodass der User nicht nichts sieht?
also eine Weiterleitung?

Code: Alles auswählen

header("Location: naechsteseite.php");
Ich brauche ihn eigentlich nicht.
Wenn niemand etwas fordert und man es selber auch nicht braucht, würd ich mir die Arbeit nicht machen ;)
2. wie kann der Fehler behoben werden, dass wenn ein Produkt in den Warenkorb hinzugefügt wird, die Artikelbezeichnung, Artikelnummer und die Preise stimmen.
dafür solltest du dann nur das Produkt auslesen, das du brauchst. etwa so:

Code: Alles auswählen

$result = mysql_query("SELECT pid, artikelbez, artikelnr, preis FROM EasyHP_product WHERE pid = $id_der_gekauften_ware");
3. wie kann ich die form.php machen in der die Adresse, die Bankdaten und die Namen gespeichert werden.
dafür geb ich dir mal diesen SQL-Befehl aus der Profile.php von EasyHP auf den Weg:

Code: Alles auswählen

$query[save] = mysql_query("UPDATE " . USERS_TABLE . " SET name = '$username', password = '$pass', email = '$email', email_pm = '$email_pm' WHERE id = '$uid_'");
Vorher musst du natürlich auslesen

Code: Alles auswählen

SELECT name, kontonummer from " . USERS_TABLE . " WHERE id = $id_des_Benutzers
, in das Formular schreiben und dann die Formulardaten in die Variabeln übernehmen.
matze93
Inaktiv
Beiträge: 314
Registriert: 21. Januar 2009, 14:10

Re: Shop

Beitrag von matze93 »

Ja, das stimmt, ich sollte den Shop echt nicht machen. ich hab halt im Internet ein nicht fertiges Tutorial gefunden und dachte ich versuchs einfach mal, wenns nicht klappt, egal. Hauptsache ich habe mal was versucht.
Wenigstens ist jetzt hier im Board dieser Code. Vielleicht will jemand mal daran rumbasteln. Vielleicht versuch ich es selber noch einmal. Mal schauen. Jetzt geht ja die Schule wieder los und mir wird wieder die Zeit fehlen. Wenn man so viele schöne Hobbys hat, kommt programmieren einfach mal zu kurz...

Da merkt man dann auch, dass manchmal Sachen nicht funktionieren, obwohl man das schon tausendmal gemacht hat oder das man nie fertig gelernt hat.
Benutzeravatar
rboe
Inaktiv
Beiträge: 18
Registriert: 25. November 2009, 22:59
Wie bist du auf EasyHP gekommen?: Internet
EasyHP Website: apollosys.de
Wohnort: DE | Baden | Rhein-Neckar-Kreis
Kontaktdaten:

Re: Shop

Beitrag von rboe »

Hey zusammen!

Ich weiß, das Thema "Shop" ist nun fast ein Jahr alt, aber:
Ein Bekannter möchte einen kleinen einfachen Onlineshop und ggfs. ein kleines einfaches CMS, um ein paar Seiten zu erstellen.
Wegen "CMS" dacht ich gleich an "EasyHP", aber bei "Onlineshop" und "einfach" hörts dann auch schon auf... Hab zwar ein Shop-System gefunden, aber irgendwie überzeugt mich das nicht wirklich.

Wie ist denn der letzte aktuelle Stand des Shop-Plugins für EasyHP!? Sind die Code-Schnipsel hier im Thread lauffähig? Ich denk mal, da brauchts noch ein paar Dateien mehr oder?

thx4help! :D
mfg,
Ronny Böttcher

CNS Apollo Computer Systems
+++ PCs/NBs | Server | Storage | Netzwerk | Designservices | Hosting +++
matze93
Inaktiv
Beiträge: 314
Registriert: 21. Januar 2009, 14:10

Re: Shop

Beitrag von matze93 »

Aktueller Stand: Projekt gescheitert.
Aber bei größerem Interesse könnte ich mir des nochmal überlegen. Meine Programmierkenntnisse sind weit mehr als vor einem Jahr. Jedoch muss ich so fair bleiben und sagen, dass man das nicht als Shop-System sehen sollte.
Mein Plan sah so aus: Man kann lediglich Produkte kaufen und Daten abwickeln (Adresse und Bankdaten). Dazu muss derjenige noch nicht einmal User sein, um Produkte zu erwerben. Der Admin hat dann eine Datenbank in der er die Aufträge sieht und kann einen Hacken für erledigt setzen.
Die Produkte können nicht via eine Suche (könnte später mal erscheinen) gesucht werden. Ebenso gibt's am Anfang noch keine Produktseite mit Produktbeschreibung und Bilder. Das könnte alles noch danach programmiert weden.
Am Anfang plan ich eher eine Liste mit allen Produkten, bei dem der Preis da steht und ein Einkauf-Butten. Dann soll's im Header und/oder im Footer einen Warenkorb-Link geben.
Aber ich hab's damals nicht hinbekommen. Bin an der Administration und am Warenkorbsystem gescheitert. Also war ich nicht weit. Doch weiter als im obrigen Code. Mal schauen ob ich das ganze fortsetzen werde.
Aber warum hört's bei einfach auf?
Antworten