Php Class Problemme ? Warenkorbsystem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Php Class Problemme ? Warenkorbsystem

    Hi all
    Beim unten stehende php mache ich ergent wie falsch das class datei ist fertig gestelt. und richtig. Aber die php was ich erstelle ist flasch wie kann ich dem koregieren

    Danke an all

    Dass ist Die Class Datei

    PHP-Code:
    <?
    class basket {
            var $id;
            var $name;
            var $amount;
            var $price;
            var $entry;


            function basket (){
                    // there is no base stuff needed
            }

            function fill_from_session($id,$name,$amount,$price){
                    $this->id=$id;
                    $this->name=$name;
                    $this->amount=$amount;
                    $this->price=$price;
            }

            function add_item ($id,$name,$price){
                    $basketcounter=0;
                    $updateitem=0;
                    $updateflag=0;
                    if (count($this->id)){
                            // only run the array if an array exists
                            foreach ($this->id as $basketid){
                                    if ($id==$basketid){
                                            // setting position to update amount of position
                                            $updateflag=1;
                                            $updateitem=$basketcounter;
                                    }
                                    $basketcounter++;
                            }
                            if ($updateflag){
                                    // update existing item in basket
                                    echo "updateing values<BR>";
                                    $this->amount[$updateitem]++;
                                    if ($this->amount[$updateitem]>1){
                                            $this->price[$updateitem]=($this->price[$updateitem]/($this->amount[$updateitem]-1))*$this->
    amount[$updateitem];
                                    }
                            }else{
                                    // add new item to existing basket
                                    echo "Add to existing basket<BR>";
                                    $this->id[]=$id;
                                    $this->name[]=$name;
                                    $this->price[]=$price;
                                    $this->amount[]=1;
                            }
                    }else{
                            // att first item to basket
                            echo "start new basket<BR>";
                            $this->id[]=$id;
                            $this->name[]=$name;
                            $this->price[]=$price;
                            $this->amount[]=1;
                    }

            }

            function show_cart(){
                    $basketcounter=0;
                    if (count($this->id)){
                            foreach ($this->id as $basketid){
                                    $itemid=$basketcounter+1;
                                    echo '<A HREF="index.php?deleteitem='.$itemid.'&PHPUGSESSID=6d4ac535752a75ad1231787ac65a1249">';
                                    echo $this->name[$basketcounter].' - ';
                                    echo '</A>';
                                    echo $this->price[$basketcounter].' - ';
                                    echo $this->amount[$basketcounter].' - ';
                                    echo '<BR>';
                                    $basketcounter++;
                            }
                    }else{
                            echo "No items";
                    }
            }

            function delete_item ($itemid){
                    $itemid--;
                    $count=count($this->id);
                    for ($i=$itemid;$i<$count;$i++){
                            $basketcounter=$i+1;
                            $this->id[$i]=$this->id[$basketcounter];
                            $this->name[$i]=$this->name[$basketcounter];
                            $this->amount[$i]=$this->amount[$basketcounter];
                            $this->price[$i]=$this->price[$basketcounter];
                    }
                    array_pop ($this->id);
                    array_pop ($this->name);
                    array_pop ($this->amount);
                    array_pop ($this->price);

            }

            function delete_cart (){
                    unset ($this->id);
                    unset ($this->name);
                    unset ($this->price);
                    unset ($this->amount);
            }
    }
    ?>

    Und Das ist die Erklärung von autor wie man die php erstellen kann


    aufrufe um den waren kob zu managen
    Object generieren:
    include ("basket.class");
    $basket=new basket;

    Vairablen aus session in basket laden
    $basket->fill_from_session($bId,$bName,$bAmount,$bPrice)

    Basket anzeigen
    $basket->show_cart();

    Artikel hinzufuegen
    $basket->add_item ($artikelid,$artikelname,$artikelpreis);

    Artikel entfernen
    $basket->delete_item($arrayposition);

    Basket leeren
    $basket->delete_cart();









    Und Das ist Die Php von mir.

    PHP-Code:
    <?

    // start the session


     
    // create basket object
    $basket=new basket();

    /* fill basket with session variables because object canot just be stored in session*/
    if (session_is_registered("basket")){
    $basket->fill_from_session($basketid,$basketname,$basketamount,$basketprice);
    }

    /* set tax (mwst beeing the swiss name for it*/
    $basket->mwst=$settings->mwst;

    /* catch cart actions */
    if ($deletecart)
    $basket->delete_cart();
    if ($deleteitem)
    $basket->delete_item($deleteitem);
    if ($addtocart)
    $basket->add_item($bid,$bname,$bprice);

    /* show the cart*/
    $basket->show_cart();
         include ("basket.class");
     echo "<Burasi Bos>";
    /* storing variables in session to fill in on next page */
    $basketid=$basket->id;
    $basketname=$basket->name;
    $basketamount=$basket->amount;
    $basketprice=$basket->price;
    session_register("basket");
    session_register("basketid");
    session_register("basketname");
    session_register("basketamount");
    session_register("basketprice");



    ?>
    <table>
    <tr>
    <td><h2>catelogue</h2></td>
    </tr>

    <tr>
    <td>expresso cups (6)</td>
    <td>
    <a href="index.php?=1&iid=001&iname=expresso&iprice=10">Add to cart</A>
    </td>
    </tr>

    <tr>
    <td>coffee machine</td>
    <td>
    <a href="index.php?addtocart=2&iid=002&iname=machine&iprice=100">Add to cart</A>
    </td>
    </tr>

    <tr>
    <td>coffee beans (java)</td>
    <td>
    <a href="index.php?addtocart=2&iid=003&iname=coffee&iprice=5">Add to cart</A>
    </td>
    </tr>

    </table>

    <hr>
    <h2>shopping basket</h2>



    <?


    $basket->show_cart();
    //session_destroy();
    ?>


    <?
    /*
    session["items"][n][0] = id
    session["items"][n][1] = name
    session["items"][n][2] = price
    session["items"][n][3] = amount
    */

    class basket {
    // constructor
    function basket () {
    // set starting count
    if (!isset($_SESSION["item_count"]))
    $_SESSION["item_count"] = 0;
    }

    function add_item ($id,$name,$price) {
    if ($_SESSION["item_count"] > 0) {
    $found=false;
    for($i=0; $i<$_SESSION["item_count"]; $i++) {
    if ($_SESSION["items"][$i][0] == $id) {
    $_SESSION["items"][$i][3]++;
    $found=true;
    }
    }
    if (!$found) {
    // add new item to existing basket
    $_SESSION["items"][$_SESSION["item_count"]] = array($id,$name,$price,1);
    $_SESSION["item_count"]++;
    }
    } else {
    // add first item to basket
    $_SESSION["items"][0] = array($id,$name,$price,1);
    $_SESSION["item_count"]=1;
    }
    }


    function show_cart() {
    if (isset($_SESSION["item_count"]) && $_SESSION["item_count"] > 0) {
    echo "<table border=\"1\">";
    echo "<tr><td>Item(click to remove)</td><td>price</td><td>amount</td><td>subtotal</td></td></tr>";
    $total = 0;
    for($i=0; $i<$_SESSION["item_count"]; $i++) {
    echo "<td><a href=\"cart2.php?deleteitem=1&iid=".$_SESSION["items"][$i][0]."\">";
    echo $_SESSION["items"][$i][1]."</a></td>";
    echo "<td>".$_SESSION["items"][$i][2]."</td>";
    echo "<td>".$_SESSION["items"][$i][3]."</td>";
    $subtotal = $_SESSION["items"][$i][2] * $_SESSION["items"][$i][3];
    echo "<td align=\"right\">$subtotal</td>";
    echo "</tr>";
    $total += $subtotal;
    }
    echo "<tr><td><b>total</b></td><td align=\"right\" colspan=\"3\">$total</td></tr></table>";
    }
    else {
    echo "No items";
    }

    }

    function delete_item($id) {
    $pos=0;
    for($i=0; $i<$_SESSION["item_count"]; $i++) {
    if ($_SESSION["items"][$i][0] != $id) {
    $_SESSION["items"][$pos] = $_SESSION["items"][$i];
    $pos++;
    }
    }
    $_SESSION["item_count"]--;
    }

    function delete_cart () {
    session_destroy();
    }
    }
    ?>

  • #2
    und was ist dein Problem?

    - was geht nicht?
    - gibs Fehlermeldungen?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Nein Gibes Kein Fehler meldung aber wehn ich dem link clike er muß die artiekl in dem warenkorb hinzufügen aber macht er nicht warum oder who mache ich fehler. danke

      Kommentar


      • #4
        PHP-Code:
        if ($deletecart)
        $basket->delete_cart();
        if (
        $deleteitem)
        $basket->delete_item($deleteitem);
        if (
        $addtocart)
        $basket->add_item($bid,$bname,$bprice); 
        für $deletecart etc. mal $_GET['deletecart'] nutzen ?
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Nein Gehen sie nicht Außser dem ich kann kein artikel im warenkorb liegen wie soll ich löschön ? haben sie ein andere idee ? ich verde verrücht

          Kommentar


          • #6
            caveman ist de bester coder hat das erledig danke all

            Kommentar

            Lädt...
            X