Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Andmebaas märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Cracker
Kreisi kasutaja

liitunud: 21.08.2007




sõnum 12.07.2019 22:48:16 Andmebaas vasta tsitaadiga

Tere!

Oleks soov ehitada nö andmebaas (web-app?). Eelnev programeerimiskogemus puudub, aga huvi on asja vastu ning tahaksin ise pusida ja õppida.

Eelneva andmebaasi ehitasin Microsoft Accessis ning põhimõtteliselt täitis kõik vajadused aga kuna soov oleks seda kasutada mitmes arvutis, muutus sellega asi keerulisemaks. Mõtlesin, et olen kaval ja kasutan dropboxi, aga seal hakkas koopiaid tegema kui oli mitmes arvutis lahti jne.
MS Accessis sai ilma otsese programmeerimiseta suht hästi hakkama, VBA-s natuke sai ikka tehtud.

Andmebaasi kasutaks enamasti üks inimene, vahel ka 2 või 3.



Põhimõtteliselt tegu väikese perefirma ettevõtte majandamise programmiga (tegeleme põllumajandusega). eAgronomi vms ei ole vaja soovitada, sooviksin just ise teha õppimise eesmärgil ning lisaks sellele saaks asja kohandada enda vajaduste/soovide järgi.
Oleks vaja siis kasutajasüsteem, vormid, mille kaudu andmeid lisada/uuendada. statistika tegemine jms.

Olen natukene uurinud ja sooviksin rohkem juhatust, milline tee oleks algajale lihtsaim. Kas php + html + mysql saaks asja aetud või kas XAMP + mõni CMS, mida siis kohandada võiks lahendus olla?
Hetkel pole hooajatööde tõttu kaugemale jõudnud kui olen ainult teemat guugeldanud ja natuke uurinud. Olen lugenud, et neid CMS saab päris palju kohandada, kas peaks äkki neist alustama ja vaatama kas sobivad minu vajadusele? Hetkel on ainult nö kiirülevaade neist tehtud.

Ehk oskab keegi siit anda suunavaid vihjeid või abi, kuidas/millest alustada?
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 13.07.2019 23:22:26 vasta tsitaadiga

PHP+html+MySQL abil saad teha praktiliselt kõike. Kui eelnev kogemus puudub, siis nõuab natuke õppimist ja katsetamist. Kui huvi ja soov on, siis anna tuld, aga sealt accessist saad üle kanda ainult andmed, kogu UI ja muu loogika pead nullist tegema.
Kui huvi pole ja lihtsamalt hakkama tahad saada, siis saad selle accessi ka tööle mitme kasutajaga. Aga selleks ei sobi dropbox. Märksõna on VPN ehk pead tekitama olukorra, kus see accessi fail paistaks nagu oleks lokaalvõrgus.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ohohh
Kreisi kasutaja
Ohohh

liitunud: 13.09.2003




sõnum 14.07.2019 10:59:12 vasta tsitaadiga

Kui sa täiesti algajana hakkad PHP + MySQL'i tegema, siis tasub endale kohe selgeks teha, mis asi on "SQL injection" bugi, et oskaks seda algusest peale vältida.
See on peaaegu 100% garanteeritud, et kui hakkad ilma igasuguse kogemuseta nullist nikerdama, siis teed, sisselogimise päringu midagi taolist

var query = "SELECT * FROM USER WHERE USER_NAME = '" + $username + "' AND PASSWORD = '" + $password + "';
Kus $username ja $password on kasutajapoolne sisend logimise vormilt.

Probleem on aga selles, et kui ma nüüd kasutajanimeks sisestan
minukasutaja'; --
siis lõplik SQL pannakse kokku selline:
SELECT * FROM USER WHERE USER_NAME='minukasutaja'; --' AND PASSWORD = ''
Kuna parooli kontroll on nüüd kommentaariks moondunud, siis seda ei kontrollita üldse.

Ehk siis tuleks kasutada prepared statmente:
https://www.w3schools.com/php/php_mysql_prepared_statements.asp

Päring peaks olema kirjutatud sellisena
var query = "SELECT * FROM USER WHERE USER_NAME = ? AND PASSWORD = ?";
ning vormilt saadud kasutajanime ning parooli annad päringu väljakutsumisel parameetritena kaasa.
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
Bilderberg
HV kasutaja
Bilderberg

liitunud: 26.08.2009




sõnum 14.07.2019 12:32:03 vasta tsitaadiga

Soovitaks tutvuda kõigepealt demoga ja kui sobib siis edasi siia: https://www.adminer.org/
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
Cracker
Kreisi kasutaja

liitunud: 21.08.2007




sõnum 14.07.2019 19:50:53 vasta tsitaadiga

Ohohh kirjutas:
Kui sa täiesti algajana hakkad PHP + MySQL'i tegema, siis tasub endale kohe selgeks teha, mis asi on "SQL injection" bugi, et oskaks seda algusest peale vältida.
See on peaaegu 100% garanteeritud, et kui hakkad ilma igasuguse kogemuseta nullist nikerdama, siis teed, sisselogimise päringu midagi taolist

var query = "SELECT * FROM USER WHERE USER_NAME = '" + $username + "' AND PASSWORD = '" + $password + "';
Kus $username ja $password on kasutajapoolne sisend logimise vormilt.

Probleem on aga selles, et kui ma nüüd kasutajanimeks sisestan
minukasutaja'; --
siis lõplik SQL pannakse kokku selline:
SELECT * FROM USER WHERE USER_NAME='minukasutaja'; --' AND PASSWORD = ''
Kuna parooli kontroll on nüüd kommentaariks moondunud, siis seda ei kontrollita üldse.

Ehk siis tuleks kasutada prepared statmente:
https://www.w3schools.com/php/php_mysql_prepared_statements.asp

Päring peaks olema kirjutatud sellisena
var query = "SELECT * FROM USER WHERE USER_NAME = ? AND PASSWORD = ?";
ning vormilt saadud kasutajanime ning parooli annad päringu väljakutsumisel parameetritena kaasa.


Tänud näpunäite eest! Salvestan endale ära!

Ma arvan, et ei hakka seda accessi proovima tööle saada, proovin ikka ise midagi kokku panna.
Olen veel googeldanud ja tundub, et CMSiga vist põhimõtteliselt oleks võimalik ka midagi leiutada, aga tundub, et lihtsam on ikkagi ise teha nullist.

Samuti olen aru saanud, et selle asja nimi, mida mul vaja on, nimetatakse CRUD-iks.
Ise kodeerimise kohta kirjutatakse palju frameworkist. Saan aru, et see teeb programmeerija elu natuke lihtsamaks.
Valik oli päris suur. Hetkel jäi sõelale CakePHP.
Kas selles osas on soovitusi?

Adminerir osas ei oskagi hetkel midagi kosta, vaatasin üle ja kodulehel oli toodud päris suur nimekiri eelistest phpMyAdmin ees. Peab natuke süvenema veel sellesse.
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 14.07.2019 19:59:17 vasta tsitaadiga

CRUD on väga üldine asi. HeidiSQL või phpMyAdmin vastab ju ka kriteeriumitele, kuigi pole tõenäoliselt üldse see, mida soovid.
Framework osas olen mina alati väga nii ja naa meelestatud. Alati peab vaatama, kui suure osa vajadusest framework ise katab. Tihti läheb nendega nii, et ehitatakse sea selga sadul kui ülesanne on lihtne ehk lisaks koodi kirjutamisele pead kaklema ka framework-ga. Samas kui framework suurema osa vajadusest katab ja sinna on vaja vaid veidi funktsionaalsust juurde pookida, siis on framework mõistlik.
Aga väga detailselt ei oska siin nõu anda. PHP+MySQL vahel harva kasutan, aga see pole see, mis leiva lauale toob.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
Cracker
Kreisi kasutaja

liitunud: 21.08.2007




sõnum 15.07.2019 18:04:49 vasta tsitaadiga

Selge, eks saan veel uurimustööd teha.

Kõrvalpõige : kui nüüd nö andmebaas/web app,või kuidas seda nimetada, tellida - kas programmeerijate hind on tunnipõhine või projektipõhine? Vastavalt kokkuleppele?
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 15.07.2019 18:15:42 vasta tsitaadiga

Cracker, progejaga saad nii ja teistpidi kokku leppida. Projektipõhise hinna saad küsida siis, kui suudad ülesande püstituse piisavalt täpselt kirjeldada ja pead arvestama, et kui tellid kandiliste ratastega auto, siis selle ka saad ja pole progeja mure, et sa sellega sõita ei saa[1]. Tunnitasu alusel võid iga hetk meelt muuta ja ülesande püstitust muuta, aga siis ei tea sa enne projekti lõppu kui palju see sulle maksma võib minna.

[1]kogenud progeja üldiselt oskab muidugi täpsustavaid küsimusi esitada kui näeb, et asi jama paistab, aga mingi väga spetsiifilise asjaga mitte alati. Rookie teeb täpselt nii nagu ütled.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Andmebaas
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.