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

pomoc php unos samo brojeva u polje

[es] :: PHP :: pomoc php unos samo brojeva u polje

Strane: 1 2 3

[ Pregleda: 23370 | Odgovora: 57 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 12:28 - pre 86 meseci
Vrlo je bitno jer mi deluje da ne pricam sa PHP programerom vec .NET ili Oracle a ovo je PHP forum.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 15:17 - pre 86 meseci
Za JMBG je u pravu, jer sam vidjao neispravne JMBG-ove, tj. neispravne po algoritmu - a opet izdate i u upotrebi. Za ostalo... sve je pitanje. Znam PHP programere koji mi tvrde da ORM to sve resava i da ne treba time da se bavi baza, a znam i na sta lice PHP ORM-ovi (offtopic je ovde) i bas zato sto znam kakve gluposti npr. Eloquent ume da nalupeta od upita sam jos ubedjeniji da TREBA da se validira na nivou baze. :D
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 16:27 - pre 86 meseci
Ne bi trebao neko ko nije PHP programer da savetuje u PHP forumu.
Kako gluposti ORM napravi.. glupost je glupost bez obzira da li je na nivou baze, js ili php-a ili neceg treceg... i ista glupost moze da se napise na bilo kojem nivou. Niko ne garantuje da ce validacija za JMBG na nivou baze biti ispravna....
Naravno sa strane nekoga je admin sve je bajno i sjajno taj teorijski deo...
Da li si znas PHP programera koji ti tvrdi da se to treba resavate ne u ORM nego u bazi?

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 17:19 - pre 86 meseci
Code (php):

public function rules()
    {
        return array(
            array('title, content', 'required',
                  'message'=>'Please enter a value for {attribute}.'),
        array('username, password', 'required'),
        array('password_repeat', 'required', 'on'=>'register'),
        array('password', 'compare', 'compareAttribute'=>'password_repeat', 'on'=>'register'),
        );
    }
 

Fora je sto recimo u nekom PHP FW jedna kompleksna validacija podataka se resava ovako kako sam neveo.
U bazi bi to bio veliki posao, dosta pisanja sa mogucim bugovima.
Ovde vec ima error message i moze vrlo lako bez ikakvog dodatnog truda da bude na vise jezika.
Kao sto rekoh, pisanje web i desktop aplikacije nije isto. Pisanje PHP i ASP nije isto. MySQL i Access baze nije isto.
Baze sa tri korisnika i baze sa 100.000 korisnika nije isto. 3 i 2000 sql-a u sekundi nije isto.

Ako neko kaze da stored procedura treba u PHP i MySQL ja ne kazem da ne moze vec samo hocu da vidim primer uzivo da je to pristojno funkcionalno na sajtu koji nije seminarski rad.
Ne bih vise jer mislim da je uzaludno sa adminom ili .net programerom pricati kako treba da izgleda php sajt.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 17:30 - pre 86 meseci
OK, zahvaljujem na pojašnjenjima, više sam u front-end svetu, a u php-u početnik, ali bitno da je tema živnula ;)

Pogrešno sam se izrazio napisavši da se validacija "prebaci" na stranu klijenta. Htedoh reći da se na backend strani uradi sve što je neophodno od validacije, a potom se sve što je moguće od toga uradi i na strani klijenta ("prebaci" u smislu da se ne kontaktira server pri popunjavanju, osim ako se koristi AJAX), mada, moguće je korišćenjem ajax-a uraditi i backend validaciju svakog elementa posebno u toku popunjavanja forme, mada je za konkretan problem 'overkill', ali se za neke druge slučajeve može primeniti (npr. kod registracije na forumu provera da li je username slobodan).

Bilo bi od koristi nama koji nemamo baš nekog iskustva da se sumiraju potrebni koraci i gde se šta prvo radi.
Što se tiče toga gde se vrši validacija pri upisu u bazu, pretpostavljam da zavisi od toga da li se koristi neki MVC/MVW i sl. model ili određeni FW, a kod većih aplikacija može provera biti dvostruka, i kod kontrolera i kod modela.



Problem su nevalidni JMBG i za njih bi morala da postoji posebna validacija, npr. neki atribut u bazi koji bi se proveravao za svaki nevalidan JMBG koji korisnik unese.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 18:25 - pre 86 meseci
Moguce je ajaxom odraditi validaciju svakog polja pojedinacno ali to ima smisla ako zavisi od podataka u bazi kao sto si naveo primer za zauzetost korisnickog imena i to nije overkill jer svaka ovakva sitnica moze da dovede do novog korisinka i moguce zarade.
Cesto se ajaxom radi validacija kompletne forme jer se uglavom samo iskoristi vec postojeca validacija u php. Ne moras da ucitavas novu stranicu.
Kod MVC validacija se najcesce radi u modelu. Nema potrebe da se radi i u kontroleru. U modelu se radi iz razloga jer taj model moze da poziva i API ili neki drugi kontorler ili helper ili nesto drugo i da preskoci validaciju.
Neki to stavljaju u kontroler jer po logici to treba da stoji u kontoleru. Sve je stvar kako koji programer ili FW postavi granicu u razlici izmedju kontorlera ili modela. Videces i ovde na forumu neki su za jednu neki za drugu.
Neko voli robusniji kontroler neko model.
Licno sam za validaciju u modelu iz razloga sto modelu moze da se pridje iz nekog drugog modela ili kontrolera.
Neki FW pored modela i kontrolera imaju jos jednu klasu koja sluzi samo za komunikaciju sa DB-om (neki za to koriste model) i obaveza je ne programirama da svi custom upiti koji se rade nad npr user tabelom budu tu upisani.
Tako sprecimo da neki drugi model poziva neku radnju nad tom tabelom a da mi to ne znamo. To olaksava odrzavanje. Znas tacno gde ti je sta.


Ovo poslednje atribut u bazi i JMBG ne razumem.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 19:08 - pre 86 meseci
OK, hvala na pojašnjenjima.


Za JMBG "atribut" u bazi mislio sam na one nevalidne JMBG (kojima kontrolni broj nije ispravan) a koji su ipak nekim ljudima dodeljeni greškom, bilo bi zgodno da postoje negde u bazi (odvojena tabela ili kako već) ako postoji negde dostupan spisak tih JMBG, tako da se pri unošenju nevalidnog JMBG u formu može u toku validacije proveriti da li je u pitanju jedan od takvih JMBG.

U tom slučaju prvi korak validacije samo na strani klijenta nije moguć, već se u slučaju unošenja neispravnog JMBG mora proveriti da li je to jedan od tih problematičnih (umesto da se samo obavesti korisnik da je uneo nevalidan JMBG). Takođe, ako se vrši unos, čak i ako je ukucan ispravan JMBG, može se odmah proveriti da li je već ranije unet u bazu da se ne bi unosili ostali podaci.



Mogao bi za unos JMBG praktično da se uradi neki dijagram sekvenci sa svim mogućim slučajevima.


Možda bi mogući scenariji pri unosu JMBG bili sledeći:

1. korisnik unosi JMBG
2.1. ako je validan (provera na strani klijenta), zahteva se od servera podatak da li takav već postoji u bazi
2.1.1. ako postoji u bazi, korisnik se obaveštava da taj podatak već postoji i forma može da se resetuje (ili uradi nešto drugo, zavisi od potreba klijenta)
2.1.2. ako ne postoji u bazi, korisnik dalje nastavlja unos ostalih podataka za taj JMBG
2.2. ako nije validan, proverava se da li je takav na spisku greškom dodeljenih nevalidnih JMBG (tabela u bazi ili neki drugi izvor?)
2.2.1. ako je na takvom spisku, korisnik dalje nastavlja unos ostalih podataka vezanih za JMBG
2.2.2. ako nije na takvom spisku, korisnik se obaveštava da taj JMBG nije validan

Da li je ovo u redu (odnosi se samo na to šta se može desiti pri završetku unosa samo JMBG, ne i ostalih podataka) ili bi iskusan developer imao bolji i/ili efikasniji pristup?



Na prvi pogled bi se reklo da je problem prost, a kad ono...
Čak imamo problem da se pri kucanju JMBG mogu desiti višestruke greške tako da JMBG bude ispravan (provera kontrolnog broja), ali da u stvarnosti nikome nije dodeljen. Ne vidim kako ovo rešiti, osim ako bi se možda vršila dodatna validacija upitom u jedinstveni birački spisak (sad proverih stranu za ručnu proveru, koriste captcha).

Ali, ovo nije vezano striktno za PHP, nego generalno za predviđanje svih mogućih scenarija pri unosu JMBG i ostalih podataka.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 20:06 - pre 86 meseci
1. Proveris sve na JS strani sta je moguce tj da li je validan broj, format (kontrolni broj ne proveravas).
2. Ajaxom proveris, (ne moras ovaj korak i to zavisi od same aplikacije i zahteva, ne vidim neki poseban razlog za ovaj korak ali moze).
1. Opet da li je ispravan po formatu i kontrolnom broju i ako nije onda proveris da li je u listi neispravnih. Ovaj korak ide prvi jer ako nije ispravan ne zahteva nikakav dodatan upit ka bazi
2. Da li je zauzet (ovaj ide drugi korak jer je uvek upit ka bazi)
3. Submit ponovis ponovo proveru koja je u ajax delu.

Ono sto si ti preskocio je provera na php delu da li je broj validan po kontrolnom broju.

U slucaju da nemas spisak brojeva koji nisu validni onda ti samo presotaje da proveris sa kontrolnim brojem pa u bazi da li postoji i ako nije validan i ne postoji u bazi onda ga obavestis da broj nije validan i da proveri tj potvrdi da ima jmbg koji nije validan.

Trece opcija za sluca da nemas spisak koji nisu validni nemoj nista proveravas tako striktno vec da li su brojevi i nisu slova i da svako unosi na svoju odgovornost jer prakticno nemas uslova za striktnu proveru.
Provera u biracki spisak nije potupna jer deca nisu u birackom spisku a imaju jmbg a biracki sposkovi su nam katastrofalni :)

[Ovu poruku je menjao VladaSu dana 22.02.2017. u 22:04 GMT+1]
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 21:33 - pre 86 meseci
Citat:
VladaSu: Ne bih vise jer mislim da je uzaludno sa adminom ili .net programerom pricati kako treba da izgleda php sajt.

Nema to veze. Ja sam .NET programer pa sam vise za ono sto si ti zastupao u toj prici.
Doduse, ja sam vise "spram projekta i resenje" ali generalno smatram da biznis logika treba biti u sluju biznis logike (jelde).
Ako gledamo kao generalni princip, smatram da baza treba da ima contraint-e koji se ticu strukture podataka (tipovi kolona, relacije FK-PK i sl.) ali BL constraint (npr. godina mora biti izmedju 1900 i trenutne) je posao BL sloja.
I to je softverska arhitektura, nije vezana za jezik. Samo je to sto je nkrgovic pricao cesca pojava u enterprise projektima a oni su cesci u .NET (i Java) svetu pa si zato povezao sa tim jezicima
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 22:39 - pre 86 meseci
Citat:
VladaSu:
Ono sto si ti preskocio je provera na php delu da li je broj validan po kontrolnom broju.
[Ovu poruku je menjao VladaSu dana 22.02.2017. u 22:04 GMT+1]

Nisam još dotle ni stigao, ono je sve bilo na strani klijenta, uz AJAX prema serveru gde je neophodan.


A to za biračke spiskove zaboravih da tu nisu maloletni građani.
Postoji provera validnosti JMBG na sajtu http://jmbg.brmbrm.com/ ali mislim da ne proverava da li je nekome dodeljen taj broj.

Nego, ako se kojim slučajem JMBG ukine kao u Hrvatskoj, gde se koristi potpuno slučajan broj, šta ćemo onda sa validacijom?
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: pomoc php unos samo brojeva u polje22.02.2017. u 23:20 - pre 86 meseci
Citat:
Nego, ako se kojim slučajem JMBG ukine kao u Hrvatskoj, gde se koristi potpuno slučajan broj, šta ćemo onda sa validacijom?


Uvek, staro dobro :
Code (php):

 if ( $jmbg_field_present === true ) { MY_ABSTRACT_CLASS_NAME::validate_jmbg(); }
 


uz else naravno ...

Elem, ispravno pitanje bi bilo: "Šta ćemo uopšte sa samom aplikacijom, formom .. ?"
about:networking
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 10:37 - pre 86 meseci
Citat:
VladaSu:
Ne bi trebao neko ko nije PHP programer da savetuje u PHP forumu.
Kako gluposti ORM napravi.. glupost je glupost bez obzira da li je na nivou baze, js ili php-a ili neceg treceg... i ista glupost moze da se napise na bilo kojem nivou. Niko ne garantuje da ce validacija za JMBG na nivou baze biti ispravna....
Naravno sa strane nekoga je admin sve je bajno i sjajno taj teorijski deo...
Da li si znas PHP programera koji ti tvrdi da se to treba resavate ne u ORM nego u bazi?

U nedostatku argumenata prelazimo na ad hominem, zanimljivo... :) Da, znam gomilu razumnih programera.

Za ostale: Ako imate projekat koji naruciocu posla deluje bitno (njegov core business) ili ako imate projekat koji ima regulativu (finansije je uvek imaju) - a realno obicno su oba u pitanju, neke stvari se verifikuju VISE PUTA. Imate verifikaciju na user interfejsu da smanjite sum, imate neke provere na nivou servera, imate proveru logike na nivou aplikacije, imate i analizu komponenti u frameworku koje proveravaju sve sto ide u bazu (nevezano za ovo, ali npr. kao neki input sanitization), onda imate constraints na bazi, a onda imate i utegnute privilegije. I onda na sve to imate i testove koji pre deploy-a verifikuju da svaki od tih pojedinacnih provera zapravo i radi svoj posao. :D

Neke stvari, finansije su ocigledan primer, su veliki problem ako se ne slazu ili ako imaju problema u konzistenciji podataka. Svaki kod ima poneki propust i ne zelite da vas neko juri zbog vaseg - ili tudjeg. Zato verifikacije radite vise puta. Neke stvari je prakticnije verifikovati samo u kodu - jer lakse skalira horiznontalno i manje "boli" sistem, ali za proveru kriticnih se uvek nadje resursa.
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6275

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 11:29 - pre 86 meseci
Citat:
VladaSu:
U PHP-MySQL praksi ne verujem da ces videti da baza radi validaciju npr JMBG broja.


Baza i ne treba da radi tu validaciju jer je ona deo biznis logike a ne logiek baze. Baza treba, na primer, da obezbedi da ne moze isti JMBG da se upiše za dve osobe i slicno.

Validacija uvek treba da se radi u onom sloju kog se dati podatak tiče. To znači da slojevi iznad ne moraju da se bave njome a naročito, ako ima više različitih slojeva koji se oslanjaju na sloj koji radi validaciju validacija će za sve njih bita ista.

To ne znači da viši slojevi ne smeju da rade istu validaciju za svoj račun, ali to nije neophodno i radi se samo radi boljeg "user experience". Na primer, uvek je korisniku zgodnije ako se validacija uradi JavaScript-om odmah već prilikom ukucavanja podatka, nego da popuni ceo obrazac, posalje ga i tek tada dobije poruke šta sve nije ispravno uneo.

Čak i tada, bolje je da donji sloj obezbedi API preko koga gornji sloj može da se posluži istom onom validacijom koju radi donji sloj a ne da pravi sopstvenu logiku za validiranje. Tako se obezbeđuje da se validaciajuvek radi na isti način i ako se menja nešto u njenoj logici, menja se na jednom mestu.




 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 12:16 - pre 86 meseci
@Predraze.. 300% se slazem sa tobom nego ima ko nikada nije programirao i dodje na forum i kaze da to tako mora da se radi.

@nkrgovic
Vidi, iskreno, ja sam tek sada pogledao sa cime se ti bavis ali po tvojim pisanjima sam ranije tacno zakljucio da si ili administrator ili .NET ili nesto slicno a ne PHP.
Zasto sam to zakljucio? Zato sto jedan PHP programer ne bi tako nesto napisao.

Vidim da si radio u limundu. Ni oni ni za jedan njihov sajt ne rade takve valildacije na nivou baze. Pitaj B. :)

Ne mogu da ti iznosim argumente zasto to ne valja.
To je kao da objasnjavam nekome da ne valja ici u prodavnicu avionom vec treba ici autom a da taj nije video ni auto ni avio ali je citao da mnogo manje ljudi pogine u avionom, da je prevoz avionom jeftiniji i sigurniji i mnogo brzi.
Teorijski je to tacno da je prevoz avionom jeftiniji, mnogo brzi i sigurniji ali do prodavnice 2 ulice nize ce da te kosta vise nego autom i bice sporiji i verovatno ces naleteti na prvu zgradu.
I onda mi jos on kaze da zna puno razumnih ljudi koji u prodavnicu idu avionom. I stvarno ima ljudi koji u prodanicu idu avionom ali njih zabole da li je to isplativo, da li to vredi, da li je prakticno vec idu da se malo pros*ravaju.

Zasto npr Mangento koji je napisan ekstra skolski po striktnim pravilima to ne radi?
Zasto ne rade blic, polovniautomobili, mojauto, kupujemprodajem, limundo, b92, winwin, ES.. ma ni jedan domaci sajt u prvih 100.
Verovatno postoji razlog....


Molim te, prekljinem te, molim te.... :) posto znas puno razumnih PHP programera koji tako rade i posto znas da tako treba da se radi onda mooolim te daj link do jednog takvog sajta. Samo jedan sajt sto je neko iz te gomile PHP programera uradio sajt. Molim te i prekljinem i javno cu da ti se izivinem!

Stvarno i iskreno bih voleo da vidim i to ne iz razloga da bi mi ti nesto dokazao vec hocu da dobijem priliku da se edukujem. Bez podcenjivanja i prozivanja i dokazivanja vec iskreno zbog rada na sebi.
Mozda posle 20 godina programiranja vreme me gazi i ne radim dovoljno na sebi i imam neko zatucano staro razmisljanje.

Inace... finansije.... znam kako izgleda kod u par banaka i cak ni tamo nije tako kako ti kazes. Ni priblizno!
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

anon115774

Član broj: 115774
Poruke: 1656



+920 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 13:07 - pre 86 meseci
Meni je jednom davno neko rekao: "Sve moze ali nikad nemoj da dozvolis da djubre udje u bazu."

Kada sam malo razmislio shvatio sam da to itekako ima smisla. Od tada se drzim toga bez izuzetka.

Dakle, ako je neko polje u bazi definisano kao integer onda tu moze da se upise samo integer. Ako bi se nekako upisalo bilo sta sem toga nastao bi haos. Ugradjeni mehanizmi same baze omogucuju ovakvu proveru i odbacice sve sto nije integer.

Ista stvar se primenjuje i na polje koje je definisano kao JMBG samo sto baza u ovom slucaju nema ugradjene mehanizme za to vec korisnik sam mora da napise. Ja uvek polazim od toga da je baza prva (ili poslednja - zavisi od kog ugla se gleda) linija odbrane i ne moze se zaobici.

Kada kazem "zaobici" mislim na neke druge procese/servise itd. Zato uvek i bez izuzetka napravim stored proceduru i sve te stvari se obavljaju preko procedure. Ukoliko dodje do promene logike samo udjem i promenim proceduru i ne moram da brinem da li je mozda jos negde ostao stari kod. Takodje, nekad je potrebno radi same validacije da se napravi nekoliko ozbiljnih upita u bazu da bi se dobio rezultat validacije. Uvek gledam da je bolje da to uradi sama baza nego neki back-end.

Neko je pitao cime se bavim... pa ja sam izmedju ostalog MSSQL programer na enterprise grade sistemima (banke, telco itd). To u prevodu znaci tabele sa nekoliko hiljada kolona i/ili, tabele sa nekoliko stotina miliona redova, tabele sa nekoliko stotina gigabajta... itd. U velikom broju slucajeva se desava da razliciti sistemi pristupaju istoj bazi i pisu i brisu. Bilo bi potpuno ludilo da svaki od tih sistema vodi racuna o zajednickoj biznis logici. Na primer, ako bi svaki od tih sistema trebao da radi validaciju JMBG-a tu bi bio haos ako treba da se izvrsi neka promena.

A osim toga se bavim i php/mysql kombinacijama. Elem... a kakve to veze ima da li se neko bavi php-om ili .net-om? U cemu je razlika? Znaci, ako se ja bavim velikim sistemima onda treba da se primenjuje najbolja praksa a ako se radi u php-u onda je nebitno i moze da radi ko kako hoce?
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 14:06 - pre 86 meseci
@informer
"Meni je jednom davno neko rekao: "Sve moze ali nikad nemoj da dozvolis da djubre udje u bazu.""
Meni su na svakom PHP poslu rekli: "Ono sto si ucio na casovima o bazama podataka to ovde ne vazi"
Da krenem od tabele sa nekoliko hiljada kolona. To je ozbiljna greska u MySQL kada se prave sajtovi. VRLO OZBILJNA GRESKA. Cim neki PHP programer napravi takvu tabelu on ne moze da dobije posao.
To je ovde najlosija praksa iz razloga sto ce load stranice da bude 10 umesto 0.5 sekundi. To nekoj radnici na salteru u banci ne znaci nista. Ona tamo sedi 8-9 sati.
Jednom sajtu znaci puno jer ce ga google baciti na desetu stranicu a to automatski znaci 99% manje poseta i 99% manje para. I tih 1% korisnika koji dodju na sajt posle 5 sekundi ce da odu na drugi.
Pitas u cemu je razlika. Razlika je da ce ti neki sajt zaradjivati ili nece. Razlika je ogromna.
U MySQL tabele sa stotinama miliona redova takodje vrlo losa praksa u MySQL. U MySQL tabela sa preko 10 miliona redova se razbija na jos tabela a cesto i na vise baza.
Mnogi podaci na webu se kesiraju dok u bankama ne a nad kesiranim podacima mysql ne moze da radi vec mora uvek da pristupa podacima u bazi.
Podaci se kesiraju jer je opet problem brzina a brzina je novac. Sve se zrtvuje zarad brzine sajta a baza podataka je uvek usko grlo.
Raditti validaciju JMBG broja u MySQL za neki websajt je suludo jer to kosta brzine a samim tim poseta korisnika i novca. Brzina sajta je direktno vezana za novac. Mozes sve super da imas uradjeno na sajtu ali ako je spor on nece donositi profit.
Zato sam i rekao da sam siguran da se ne bavis php i mysql programiranjem vec desktop i bio sam upravu.
To sto je u banci najbolja praksa na webu je najlosija.
Mi imamo servere ciji zakup pojedinacno mesecno kosta vise od 10.000$.. Ne secam se tacno kakve ali neke lude masine. Citav sajt nam je razdvojen. Npr registraciju korisnika vrsi jedan server. Unos oglasa vrsi drugi server, poruke treci.
Cak su nam neke tabele podeljene na vise servera pa imamo "workere" koji citaju odredjeni SQL sa svih tih servera pa spajamo podatke u kodu. I mi se zaglavljujemo na MySQL. Za neke stvari koristimo baze koje su same tabele bez relacija kao NoSQL ili Mongo.
Tabela za password nam ima dve kolone user_id, password, za email, user_id i email. Na glavu user tabelu ne smes da nakacis nikakvu kolonu. Pogovo tipa text koja dosta usporova.
Kada bi neko stavio na user tabelu prodecuru koja proverava JMBG usporio bi sajt i dobio bi otkaz. Malo karikiram ali u firmi ima vise PHP programera nego komplet radnika u banci.
Sajt nam se ucitava za 1,5 sekundi i trudimo se da se ucita ispod jedne sekunde.
A onda kada krene marketing tim da osvaja novo trziste pa skoci load servera sa 10 na 90% a ti vidis da je neko stavio takvu validaciju i nije kesirao podatke. Ubijes se.

Druga stvar... To sto ti radis sa PHP to je zato sto nisi PHP programer vec to radis iz hobija ali ja bih voleo da mi neko kaze u prvih 1000 PHP sajtova u Srbiji da je jedan uradjen tako.
Pricate kao da svi tako rade a ja tvrdim da niko u PHP ne radi tako. Mozda .NET programer koji se igra malo sa PHP a vidim da ima i .NET programera koji ne bi tako radili. Siguran sam da nema PHP programera koji bi tako radio.
I sami ste priznali da niste PHP programeri.



[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 14:10 - pre 86 meseci
Zasto sam skontao da niste PHP programeri tj web?
Stvar je u uglu gledanja. Da li da to bude perfektno lepo, skolski i logicki u funkcionalno ili da li da zaradjuje.

Kada vec pricate da se to tako vrlo uobicajno radi u PHP MySQL ja samo trazim da mi date jedan konkretan primer. Samo jedan primer a da nije seminarski rad nekog studenta.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 14:17 - pre 86 meseci
Citat:
VladaSu:Teorijski je to tacno da je prevoz avionom jeftiniji, mnogo brzi i sigurniji ali do prodavnice 2 ulice nize ce da te kosta vise nego autom i bice sporiji i verovatno ces naleteti na prvu zgradu.
I onda mi jos on kaze da zna puno razumnih ljudi koji u prodavnicu idu avionom. I stvarno ima ljudi koji u prodanicu idu avionom ali njih zabole da li je to isplativo, da li to vredi, da li je prakticno vec idu da se malo pros*ravaju.


Tako je, samo sto je totalno nebitno da li vozac aviona ili automobila prica srpski, engleski ili nemacki :)
Razlika je u daljini putovanja.
Iliti, vraceno na nasu temu, razlika je u velicini/slozenosti projekta. Po tome sto ti pises, ispada da se ili PHP ne koristi za velike/slozene sisteme ili zbog nekog "to-se-tako-u-php-u-ne-radi-nika" razloga ne treba u php-u raditi drugaciju arhitekturu iako bi realno trebalo. A zasto PHP programeri to tako (ne) rade nikad (mada bih pre rekao mnogo redje) cu da precutim da ne ispadne da flame-ujem i ne ode previse u advocacy. A i da ne trigger-ujem plus_minus-a :P

Ukratko, ono sto hocu da kazem je da ono o cemu pricamo nije tema programskih jezika vec arhitekture IS-a a da se implementacija moze uraditi u raznim tehnologijama/jezicima (u nekim lakse, u nekim teze).
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 14:23 - pre 86 meseci
Ja bi ama bas stvarno voleo da smem da pricam, pa da ti ispricam koliko ima na Limundo bazi provera, na koliko su slojeva, sta se radi SAMO kroz stored procedure i koliko sam vremena kao neko kome je odgovornost bila DB server provero sa programerima pokusavajuci da napravimo da bas na primer finansijske transakcije budu verifikovane na vise nivoa. Znas kako se zavrsi na kraju? Tako sto je mom tamosnjem tehnickom direktoru, inace developeru koji je od pocetka u Limundu, lakse da ode do banke i uplati 100 dinara na svoj racun za testiranje, nego da proba da to upise u bazu na ruke. E, toliko ima nivoa provera i constraint-a.
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.vocus.co.nz.



+373 Profil

icon Re: pomoc php unos samo brojeva u polje23.02.2017. u 14:29 - pre 86 meseci
Citat:
Neko je pitao cime se bavim... pa ja sam izmedju ostalog MSSQL programer na enterprise grade sistemima (banke, telco itd). To u prevodu znaci tabele sa nekoliko hiljada kolona i/ili, tabele sa nekoliko stotina miliona redova, tabele sa nekoliko stotina gigabajta... itd. U velikom broju slucajeva se desava da razliciti sistemi pristupaju istoj bazi i pisu i brisu. Bilo bi potpuno ludilo da svaki od tih sistema vodi racuna o zajednickoj biznis logici. Na primer, ako bi svaki od tih sistema trebao da radi validaciju JMBG-a tu bi bio haos ako treba da se izvrsi neka promena.

Losa arhitektura. :)
Baza sluzi za cuvanje podataka i to joj je primarna svrha. To sto mozes raditi i druge stvari u njoj je "side-effect" koji je proistekao usled "monopola":
Imas mnogo dobar proizvod koji radi A i mnogo je dobar kada se koristi zajedno sa B, C i D. Hajde da napravimo X koji pokusava da radi B, C, D i damo zajedno sa A.

Razliciti delovi sistema ne treba da pristupaju direktno bazi nego da koriste servise koji poseduju bazni model.
Ti servisi sarze svu logiku i oni su pisani u visim jezicima gde je mnogo lakse koristiti stvari kao sto su abstrakcija, paralelizam, testove, integraciju sa drugim sistemima pisanim na drugim tehnologijama, horizontalnu skalabilnost, verzionisanje, bibloteke, kolaboraciju pa cak i nesto osnovno kao sto je Refactoring koda itd.

Kao neko ko je imao iskustva sa DB heavy projektima, mogu da kazem da razlozi "za" nikako ne mogu da opravdaju "protiv".
 
Odgovor na temu

[es] :: PHP :: pomoc php unos samo brojeva u polje

Strane: 1 2 3

[ Pregleda: 23370 | Odgovora: 57 ] > FB > Twit

Postavi temu Odgovori

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