Käytössä siis PHP ja MySQL, tavoitteena tehdä normaali tietokantaan tallennus, mutta niin, että tietojen antaminen on hajautettu monelle sivulle. Ensimmäisellä sivulla kysytään esimerkiksi yhteystiedot ja toisella sivulla vaikkapa lisätietoja ja kolmannella voisi lisätä kuvia. Kuitenkaan tietoja ei tallennettaisi kantaan jos ei kaikkia sivuja käy läpi.
Miten tämä olisi viisainta toteuttaa niin, ettei tietoja voi JavaScriptillä tai muulla keinolla muuttaa kesken prosessin. Ajattelin hidden inputteja, mutta varmasti on parempikin keino?
Voisiko esimerkiksi luoda johonkin erilliseen mysli-tauluun uniikilla id:llä rivi annetuilla tiedoilla ja viimeisellä sivulla siirtää sen pysyvään mysli-tauluun? Miten kannattaisi tuo id-tunniste toteuttaa, eli miten siirtää ID sivulta toiselle ilman, että se näkyy osoitepalkissa?
Jos jokaisella sivulla on omat formit, ja lähetetään joka kerta sille seuraavalle sivulle ne tiedot joka taas jatkaa välittämistä, kunnes ollaan viimeisellä sivulla joka tallentaa ne.
Minä tallentaisin käyttäjän antamat tiedot sessioon odottamaan sitä, että kaikki on kerätty.
Macro kirjoitti:
Jos jokaisella sivulla on omat formit, ja lähetetään joka kerta sille seuraavalle sivulle ne tiedot joka taas jatkaa välittämistä, kunnes ollaan viimeisellä sivulla joka tallentaa ne.
Meinaat nimenomaan piilotettuja kenttiä?
Onko näissä jotain tietoturvariskiä, mm. että osoiteriviltä voisi JavaScriptillä muuttaa kentät toiseksi?
Blaze kirjoitti:
Minä tallentaisin käyttäjän antamat tiedot sessioon odottamaan sitä, että kaikki on kerätty.
Onkohan tässä ratkaisussa haittapuolia?
grandvia kirjoitti:
Meinaat nimenomaan piilotettuja kenttiä?
Miten niin piilotettuja kenttiä?
Mitä haittaa siitä on, että tietoja voisi muuttaa? Voihan käyttäjä kirjoittaa sinne alusta asti, mitä haluaa. Tiedot täytyy tarkistaa PHP:n puolella, ja samalla vaivalla tarkistuksen tekee vielä viimeisen lomakkeen jälkeen uudestaan.
Jos tallennat tiedot palvelimelle, niitä ei pääse muuttamaan. Istunnot (sessiot) ovat minusta tähän käytännöllisin tapa.
Sessioneillahan tuo onnistui paremmin kuin kätevästi. Hienoa.
Kiitos kaikille auttaneille!
Entäpä jos käyttäjä jostain kumman syystä täyttää kahta lomaketta samaan aikaan?
Sitten keksin nimi voi olla
voi olla = pitää olla
Siltikään mukana kulkevista piilokentistä tuskin on haittaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.