Eredmény: 1 - 9 (9) összesen

Téma: Többlépcsős folyamat leprogramozása PHP-ban

  1. #1
    Tag
    Csatlakozott
    08-10-08
    Hozzászólás
    91
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Többlépcsős folyamat leprogramozása PHP-ban

    Sziasztok!

    A többlépcsős folyamat alatt egy olyan oldalt értek, mint pl amikor megrendelsz egy webáruházban egy terméket. A következő lépéshez szükséges az előző lépés teljesítése. Az ilyen folyamatokhoz, legyen az bármi, még egy ábrát is mellékelnek, hogy éppen melyik szinten vagy miközben megmutatják hogy milyen szinteken vagy túl és milyen szintek állnak még mögötted.

    Lehet hogy én bonyolítom túl a dolog, nekem egy termék kosárba helyezéséhez kellene egy ilyen több lépcsős folyamat. A termék tulajdonságait kell beállítani az egyes szinteken és ha mindent beállított a felhasználó akkor bekerül a kosárra.

    Úgy gondolom, hogy biztos van az ilyen jellegű problémák megoldására egy bevált módszer és ezt szeretném megkérdezni hogy mitévő legyen ilyen helyzetben. Engem tulajdonképpen az elv érdekelne, vagy ha valaki ismer egy jó leírást az interneten azt is megköszönném.

    Előre is köszönöm!



  2. #2
    Bölcs
    Csatlakozott
    07-08-28
    Hozzászólás
    1.030
    Begyűjtött 150 köszönetet
    109 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Egyszerü.

    Van mondjuk 4 lépésed.

    Mindegyik lépéshez tartozik egy kódbázis
    step1.php step2.php step3.php step4.php

    Mindegyik php indit sessiont.
    A file-ok kb igy néznek ki belül:

    Step2:
    PHP kód:
    session_start();
    if (
    $_SESSION['step1'] != 'done')
    {
    header('location: step1.php');
    }
    ### Ezzel elintéztük, hogy nem lehet a 2-es lépést csinálni addig amig az 1-es nem végzett.

    if (isset($_GET['store']) and $_GET['store'] == 'store')
    {
    ## elmentjük a lépésket
    $_SESSION['step2'] = 'done';
    header('location: step3.php');
    }
    else
    {
    ## Most jött ide a user
    ## kiiratjuk neki az adatokat amiket be tud álitani
    echo '<form method="post" action="step2.php?store=store"></form>';

    Utánna ezeket a lépésket ismételni addig amig el nem készülsz.



  3. #3
    Tag
    Csatlakozott
    08-10-08
    Hozzászólás
    91
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Igen, én is pont így csináltam, ha nem lenne agyonbonyolítva az egész már rég működne az egész. A következő, ami kifogott rajtam:

    van 9 lépés

    DE

    1. 2. 3. 4. 5. 6. 7. 8. 9.

    A 3. és a 4. csak akkor jelenik meg ha a 2. lépésben egy különleges tulajdonságot állított be és nem mindig.

    Illetve a 6. és 7. lépés olyan lépések amik csak akkor jelennek meg ha az 5. lépésben "kérnek hozzá" egy bizonyos dolgot.

    és a 9. lépés is csak akkor teljesül ha a 2. és 3. lépés is egy bizonyos tulajdonság és nem mindig.

    Tehát a lényeg hogy nem mindegyik lépés jelenik meg feltétlenül, az előzmények befolyásolják ezt.



  4. #4
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    az if -rol nem hallottal meg?

    ------------------



  5. #5
    Bölcs
    Csatlakozott
    07-08-28
    Hozzászólás
    1.030
    Begyűjtött 150 köszönetet
    109 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Ez egyszerü.

    Ami ilyen speciális eset van azt egyszerüen ugyan úgy berakod a session-be mint a stepeket.
    Pl a 2esnél ha az a spéci dolgot beillesztették, akkor azt is berakod a session-be. a 3-asnál ellenörzöd, hogy a kettest megcsinálták-e, ha igen, akkor következő lépésben megnézed, hogy a speciális tulajdonságot beixelték-e, ha nem akkor tovább dobod az 5-ös lépésre. Az ötösön megnézed, hogy a 2-es speciális tulajdonsága be van-e állitva. Ha igen, akkor megnézed, hogy a step4 megvolt-e, ha nem akkor header step4-re, ha nincs speciáls flag akkor megnézed, hogy kettes volt-e, ha nincs akkor header step2-re.

    Ez nehezen uniformizálható folyamat, de ha szépen szét szeded külön file-okba, akkor igen nem fog szét bonyoldóni a kódod a töménytelen feltétel miatt.

    Az egyetlen amit megéri megtartani az az a szabály, hogy minden file 1 lépést tartalmaz. Azon belül is a kiiratást, és a feldolgozást.



  6. #6
    Bölcs Csetneki_Sanyi logója
    Csatlakozott
    07-06-05
    Hely
    Budapest
    Hozzászólás
    599
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Idézet Geri07 eredeti hozzászólása Hozzászólás megtekintése
    az if -rol nem hallottal meg?
    ------------------
    erre mondaná Medgyessy Péter, hogy elágadoz... elágazodózáshoz értünk



  7. #7
    Tag
    Csatlakozott
    08-10-08
    Hozzászólás
    91
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Idézet TLoF eredeti hozzászólása Hozzászólás megtekintése
    Ez egyszerü.

    Ami ilyen speciális eset van azt egyszerüen ugyan úgy berakod a session-be mint a stepeket.
    Pl a 2esnél ha az a spéci dolgot beillesztették, akkor azt is berakod a session-be. a 3-asnál ellenörzöd, hogy a kettest megcsinálták-e, ha igen, akkor következő lépésben megnézed, hogy a speciális tulajdonságot beixelték-e, ha nem akkor tovább dobod az 5-ös lépésre. Az ötösön megnézed, hogy a 2-es speciális tulajdonsága be van-e állitva. Ha igen, akkor megnézed, hogy a step4 megvolt-e, ha nem akkor header step4-re, ha nincs speciáls flag akkor megnézed, hogy kettes volt-e, ha nincs akkor header step2-re.

    Ez nehezen uniformizálható folyamat, de ha szépen szét szeded külön file-okba, akkor igen nem fog szét bonyoldóni a kódod a töménytelen feltétel miatt.

    Az egyetlen amit megéri megtartani az az a szabály, hogy minden file 1 lépést tartalmaz. Azon belül is a kiiratást, és a feldolgozást.
    Igen én is így csináltam, de teljesen belebonyolódtam, mert ugyan külön fájlokban voltak a lépések de include-al, ha nem includolom a fájlt hanem direkt megnyitom akkor sokkal egyszerűbb mert tudok játszani a header()-es léptetéssel. Amikor includoltam akkor volt egy status Session és egy adat Session és attól függően hogy mi a status includeolok fájlokat, de ebbe nagyon belebonyolódtam és ez az ami miatt nem tudom megcsinálni amit szeretnék.

    Geri07: If? nem nem halottam még róla, az mit tud?



  8. #8
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Idézet Killroy eredeti hozzászólása Hozzászólás megtekintése
    Igen én is így csináltam, de teljesen belebonyolódtam, mert ugyan külön fájlokban voltak a lépések de include-al, ha nem includolom a fájlt hanem direkt megnyitom akkor sokkal egyszerűbb mert tudok játszani a header()-es léptetéssel. Amikor includoltam akkor volt egy status Session és egy adat Session és attól függően hogy mi a status includeolok fájlokat, de ebbe nagyon belebonyolódtam és ez az ami miatt nem tudom megcsinálni amit szeretnék.

    Geri07: If? nem nem halottam még róla, az mit tud?
    nem akarlak megbantani, de nem tunik tul jonak a problemamegoldo kepesseged. ennel sokkal komolyabb dolgokat is siman meg kellene tudnod oldani ha komolyan gondolod a programozast


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  9. #9
    Törzsvendég baloghl logója
    Csatlakozott
    09-01-04
    Hely
    Puala lumpur
    Hozzászólás
    179
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Többlépcsős folyamat leprogramozása PHP-ban

    Próbáld ki egyszer a switch - case szerkezetet



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •