Tämä on osa PHP-projektia.
Tuli tämä äänestys värkkäiltyä valmiiksi. Tietokantojen kanssa olisi mennyt paljon yksinkertaisemmin, mutta tulipa nyt PHP:llä pitkästä aikaa hommailtua tiedostojenkin kanssa. Muutamia ominaisuuksia:
memory_limit
-asetuksen kanssa.Vielä uupuu ominaisuus, jolla estetään saman henkilön useammat äänestykset. Tähän pitäisi keksiä jokin hyvä ja nopea ratkaisu.
Joitakin huomioita tuli mieleen kun tuota luin.
Kaikki funktiot kannattaa koota yhteen paikkaan
Tiedostojen käsittelyn voisi hoitaa aina samassa funktiossa.
Äänestyksen luonti ei onnistunut omalla palvelimellani PHP versio 5.2.10
hallinta.php funktiot voisivat antaa selkokielisen virheen vrt
Kiitos kommenteista.
Teuro kirjoitti:
Kaikki funktiot kannattaa koota yhteen paikkaan
Funktiot yritin koota siten, että aanestys.php
-tiedostossa on kaikki "elintärkeät" funktiot ja muissa tiedostoissa vain niissä yhteyksissä tarvittavat funktiot. Ehkä selvempi kuitenkin olisi, jos kaikki funktiot ovat yhdessä tiedostossa.
Teuro kirjoitti:
Tiedostojen käsittelyn voisi hoitaa aina samassa funktiossa.
Mitä tarkoitat? Tuossa tiedostojen käsittely hoidetaan niin sanotun I/O -funktion kautta. Systeemi voi aluksi näyttää sekavalta, mutta mielestäni se on ihan näppärä ratkaisu.
Teuro kirjoitti:
Äänestyksen luonti ei onnistunut omalla palvelimellani PHP versio 5.2.10
Minkälaisen virheen antaa?
Teuro kirjoitti:
hallinta.php funktiot voisivat antaa selkokielisen virheen vrt
Totta, korjailen virheenkäsittelyn paremmaksi lähipäivinä.
trilog kirjoitti:
Mitä tarkoitat? Tuossa tiedostojen käsittely hoidetaan niin sanotun I/O -funktion kautta. Systeemi voi aluksi näyttää sekavalta, mutta mielestäni se on ihan näppärä ratkaisu.
Tarkoitan noita callback funktioita, koska niitä on minusta hirmu hankala lukea. Tosin johtunee siitä, että itse en niitä juurikaan käytä. Samoin tiedostokahvan passitus parametrinä on kummallista.
trilog kirjoitti:
Minkälaisen virheen antaa?
Antaa siis "Ännestyksen luonti epäonnistui, virhe 1" Tähän tuo seuraava kommentti onkin. Siis valmiin taulukon kautta tulostus, että mikä meni väärin. Ei se ole vaikea lukea koodista, mutta helpompaa tuo kehittäjälle olisi.
Minusta funktiot.php tiedosto on järkevämpi, koska tällöin kaikki yhteen kuuluvat asiat on yhdessä paikassa.
Teuro kirjoitti:
Tarkoitan noita callback funktioita, koska niitä on minusta hirmu hankala lukea. Tosin johtunee siitä, että itse en niitä juurikaan käytä. Samoin tiedostokahvan passitus parametrinä on kummallista.
Koodista olisi tullut monta kymmentä riviä pidempää, jos jokaisessa tiedostoa tarvitsevassa funktiossa tehtäisiin avaus-, sulkemis- ja lukitusrutiinit. Ylläpitokin nopeutuu huomattavasti, kun tiedostojen käsittely on keskitetty pääsääntöisesti yhteen funktioon. Olio-ohjelmoinnissahan tämä olisi ihan normaali periaate, tässä se on vain toteutettu callbackeilla.
Virheenkäsittelyä parannettu. Uuden version voi ladata ensimmäisen viestin linkistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.