Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem shop-brisanje.

[es] :: PHP :: Problem shop-brisanje.

[ Pregleda: 1897 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

username1987
Ne radim

Član broj: 270860
Poruke: 31
178.77.29.*



Profil

icon Problem shop-brisanje.07.05.2011. u 23:21 - pre 156 meseci
Pozdrav. Evo mene opet sa novim pitanjem.:) Malo preradujem primjere iz knjige za PHP.Pala mi je ideja da napravim neki mini "shop". Pa sam se upustio u taj izazov da bi bi savladao neke nove stvari koliko toliko :)

Katalog sam uspješno kreirao kreirao. Poslije toga sam napravio za svaki produkt stranicu i to je isto ok. Medjutim kada kliknem "kupi" taj produkt mi se ubaci u korpu. Trebam da napomenem da sam ovo uradio preko sql-a ne sesija,odnosno ne čuvam ih u sesiji nego u bazi. Sesiju sam samo napravio za tabelu "tbl_cart" u koju smještam informacije o korpi.
U njoj imam i kolonu u koju upisujem sesiju.Medjutim problem je što ne znam kako da izbrišem ove produkte kada sesija istekne, odnosno kada korisnik zatvori browser.
Ideja mi je da napravim još kolnu u koju upisujem vrijeme i da ga nekako poredim ali to nikako ne mogu da uradim jer imam "logički" problem.
http://www.phpeasystep.com/phptu/9.html
Naletio sam na tutorijal na kojem sam "pokupio"ideju ali ni na ovom tutoru nije uradjeno odnoson,ima problem kao i ovo moje rješenje. U tabeli se uopšte ne brišu redovi jer kada se skripta pokrene, provjeri se uslov koji nije ispunjen tako da redovi ostanu ne obrisani.
http://www.phpeasystep.com/phptu/9.html

Ovaj dio koda je sporan
Code:
$sql4="DELETE FROM $tbl_name WHERE time<$time_check";
$result4=mysql_query($sql4);


Zamolio bih za pomoć jer mi stvarno ovo nije jasno.Ako je potrebno postaviću i svoj kod.Znači problem je što se ovaj kod ne izvrši jer uslov nije tačan. Hvala








[Ovu poruku je menjao username1987 dana 08.05.2011. u 00:33 GMT+1]
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Problem shop-brisanje.08.05.2011. u 00:09 - pre 156 meseci
Prvo treba
$time = time + 600;
Pa onda u mysql query brises ako je time iz baze < $time.

Za sta koristis sesije?
 
Odgovor na temu

username1987
Ne radim

Član broj: 270860
Poruke: 31
178.77.29.*



Profil

icon Re: Problem shop-brisanje.08.05.2011. u 00:26 - pre 156 meseci
Sesiju koristim na stranici korpa.php kada upisem produkt kojeg je korisnik izabrao da ga smjestim u tabelu da bi znao poslije toga ko je šta izabrao. Ovo mi se činilo najbolji način. Još mi je palo napamet da koristim ip adresu umjesto sesije ali sam izabrao sesiju.
 
Odgovor na temu

Mystery
Beograd

Član broj: 170918
Poruke: 76



+4 Profil

icon Re: Problem shop-brisanje.08.05.2011. u 23:21 - pre 156 meseci
Dobro si izabrao. Nikako nemoj koristiti IP adresu za to
 
Odgovor na temu

username1987
Ne radim

Član broj: 270860
Poruke: 31
178.77.22.*



Profil

icon Re: Problem shop-brisanje.09.05.2011. u 01:16 - pre 156 meseci
Hvala.Problem i dalje nije riješen.Pada li nekome nešto na pamet?
 
Odgovor na temu

taksistaZR
zrenjanin

Član broj: 124170
Poruke: 80
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem shop-brisanje.09.05.2011. u 12:03 - pre 156 meseci
Ako hoces da obrises te podatke treba da napravis cron job skriptu koja ce to periodicno da radi. Drugog sigurnog resenja nemas.

Inace, nema potrebe da podatke iz korpe cuvas u tabeli ako zelis da ih obrises po isteku ili prekidu sesije. Najjednostavnije je da sadrzaj korpe cuvas u sesiji, server automatski zna cija je koja sesija i podaci se automatski brisu nakon gasenja sesije.
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Problem shop-brisanje.09.05.2011. u 13:44 - pre 156 meseci
Naravno da postoji mali milion sigurnih resenja(cak mnogo sigurnijih i fleksibilnijih od cron job-a)...
Postavi svoj kod, da ne zapitkujemo dzaba napamet, pa da vidimo u cemu je problem...
 
Odgovor na temu

taksistaZR
zrenjanin

Član broj: 124170
Poruke: 80
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem shop-brisanje.09.05.2011. u 14:33 - pre 156 meseci
Ako user zatvori browser, sesija se brise i u tabeli ostaju podaci iz korpe za tu sesiju.

Dakle, brisanje po session_id ne moze jer sesija vise ne postoji.

Brisanje po time je ok ali ko ce da pozove skriptu koja ce da obrise kad je user zatvorio prozor?

Zar ti nije logicno da periodicno cron poziva skriptu koja brise svakih n minuta ili ti je vise logicno da ta skripta bude u okviru neke strane pa da 100 online usera salju request i proveravaju da li ima smeca za brisanje?



Uostalom, vec sam rekao, ako podatke iz korpe ne treba da cuva za kasniju obradu zasto ih uopste stavljati u tabelu kad je sesija savrsena za ovo sto mu treba.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Problem shop-brisanje.09.05.2011. u 14:59 - pre 156 meseci
Jos jedan glas za sve u sesiji dok ne bude zaista potrebno da se unese u bazu. A onda kad se unese lista itema u bazu kreiras i novi shop (order) ID i to prikazujes adminu kao Not-Completed, mozda mu znaci da vidi sta je neko anoniman ili potpisan dodao u kartu ali nikad nije zavrsio kupovinu. Admin moze da obrise te not-compelted ordere, a ove completed obicno ne nudis adminu uopste da moze da ih obrise. Mozes i adminu da napravis i dugme za Delete All not Completed, i tako njemu pruzis uvid u potencijalno korisne informacije, i ujedno on sam radi maintenance. Ako iole ima ucestalu prodaju na sajtu i zanima ga sta se desava sa sajtom, sam ce brisati te not-completed ordere

 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Problem shop-brisanje.09.05.2011. u 15:32 - pre 156 meseci
Zar ti nije logicno da periodicno cron poziva skriptu koja brise svakih n minuta ili ti je vise logicno da ta skripta bude u okviru neke strane pa da 100 online usera salju request i proveravaju da li ima smeca za brisanje?
Ja ovako rezonujem. On taj podatak u bazi (valjda) u svakom slucaju mora na neki nacin da obradi (ako ne mora, onda naravno samo u sesiju). Ako taj podatak utice na ostale korisnike, svaki korisnik i tako i tako mora raditi proveru. Ako ne utice, onda nije hitno da se provera radi, i on je moze odraditi onda kad to bude neophodno. A neophodno je valjda kad on hoce da pristupi tim podacima. E sad, zasto da petlja sa cron job-om, da namesta da ovaj resetuje podatke svakih sat naprimer (na vecini shared hostinga, cron je veoma ogranicen koliko ja znam), i da u bazi uvek ima smeca kad ne treba da ima (cron obrise podatke u 12:00, bude upis posle 5 min, fajl kome smeta smece zatrazi od baze nesto u 12:07).
Kako god uradi, isto mu se hvata da u odredjenom trenutku mora proveravati da li u bazi ima smeca. Tako da i dalje tvrdim da cron nije najelegantnije resenje :).
Malo sam zapetljao objasnjenje, valjda si me razumeo.
 
Odgovor na temu

taksistaZR
zrenjanin

Član broj: 124170
Poruke: 80
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem shop-brisanje.09.05.2011. u 16:12 - pre 156 meseci
Citat:
Milos911:
Ja ovako rezonujem. On taj podatak u bazi (valjda) u svakom slucaju mora na neki nacin da obradi

Kako ga obradjuje kad hoce da ga obrise cim nestane sesija? Kad sam rekao obrada mislilo sam da ga iskoristi za kasnije zbog neke statistike i sl. Ocigledno mu taj podatak sluzi samo da zna sta je user stavio u korpu.

Citat:
Milos911:
(ako ne mora, onda naravno samo u sesiju).

Odlicno, izgleda da se svi slazemo da je pametnije koristiti sesiju za skladistenje umesto tabele

Citat:
Milos911:
Ako taj podatak utice na ostale korisnike, svaki korisnik i tako i tako mora raditi proveru.

Logicno da ne utice, to su podaci iz korpe tog usera i nista vise. Zasto bi neki drugi user vrsio proveru ostilih korpi, racunao vreme, brisao? Zamisli koliko se povecava izvrsenje i opterecenje servera kada bi takvu logiku primenio na veoma posecenom sajtu.

Citat:
Milos911:
Ako ne utice, onda nije hitno da se provera radi, i on je moze odraditi onda kad to bude neophodno. A neophodno je valjda kad on hoce da pristupi tim podacima.

I tu je poenta price. Kada zatvori prozor nema ko vise da pristupi tim podacima posto sesija vise ne postoji.

Citat:
Milos911:
E sad, zasto da petlja sa cron job-om, da namesta da ovaj resetuje podatke svakih sat naprimer (na vecini shared hostinga, cron je veoma ogranicen koliko ja znam), i da u bazi uvek ima smeca kad ne treba da ima (cron obrise podatke u 12:00, bude upis posle 5 min, fajl kome smeta smece zatrazi od baze nesto u 12:07).
Kako god uradi, isto mu se hvata da u odredjenom trenutku mora proveravati da li u bazi ima smeca. Tako da i dalje tvrdim da cron nije najelegantnije resenje :).
Malo sam zapetljao objasnjenje, valjda si me razumeo.

Potrebna je spoljna skripta za brisanje. Stavljanje tog brisanja u neku javnu stranicu nije dobro resenje, objasnio sam to gore. Ovo sa shared serverima necu ni da komentarisem, a ti vreme crona mozes da podesis i na jedan dan pa nije nikakav problem, ne postoji nikakav fajl kojem smeta smece, treba ga periodicno ukloniti da se ne natrpa u bazi posto nicemu ne sluzi.




Najgore od svega je to sto diskutujemo o totalno pogresnom resenju. Stvar je jasna. User kada odabere proizvod, ID tog itemsa se stavlja u jedan array u sesiji. Pomocu te sesije moze da manipulise podacima svake pojedinacne korpe i ti podaci se gube nakon isteka sesije. Kada user krene da procesuira porudzbinu onda ima smisla upisati podatke u tabelu dodeliti order_id kao sto @dakipro rece i siriti pricu dalje.
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Problem shop-brisanje.09.05.2011. u 17:03 - pre 156 meseci
Citat:
taksistaZR: Kako ga obradjuje kad hoce da ga obrise cim nestane sesija? Kad sam rekao obrada mislilo sam da ga iskoristi za kasnije zbog neke statistike i sl. Ocigledno mu taj podatak sluzi samo da zna sta je user stavio u korpu. 
To sam prevideo, ali kao sto vidis kasnije sam stavio "(ako ne mora, onda naravno samo u sesiju)."
Sve ostalo je napisano po pretpostavkom da njemu taj podatak ipak za nesto treba, tako da nema potrebe siriti bezveze pricu.
 
Odgovor na temu

username1987
Ne radim

Član broj: 270860
Poruke: 31
178.77.3.*



Profil

icon Re: Problem shop-brisanje.09.05.2011. u 19:47 - pre 156 meseci
Izvinjavam se svima. Zaboravio sam na početku da napomenem da sam izabrao tabele da bi kasnije mogao evidentirait statistiku kupca npr da prikažem zadnjih 5 kupljenih knjiga itd.Ovo preko sesija mi je otprilike jasno jer ima uradjen šhop u knjihi "Razvoj web aplikacija" a i uz to sam izguglao par dobrih tutorijala. Shvatam prednost sesija u ovom slučaju ali me zanimalo kako bi se ovo rješilo sa tabelama. Zaista par konstruktivnih savjeta,hvala:)

Btw.Postoji li ijedan način preko sesija da napravim da bi poslije mogao vidjeti statistiku ili nešto tako ?

 
Odgovor na temu

[es] :: PHP :: Problem shop-brisanje.

[ Pregleda: 1897 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.