Mitenkä olisi järkevä toteuttaa tälläinen monisivuinen rekisteröintisivu käyttäen PHP + MySQL?
Systeemi menisi näin:
1. Sivu Rekisteröidy / Kirjaudu
2. Rekisteröi 1/2 (Käyttäjätunnus / Salasana sekä tarkistus ettei ole kannassa jo)
3. Rekisteröi 2/2 (Tarkempia tietoja käyttäjästä)
4. Tietokantaan tallentaja- / oikeellisuudentarkastaja -sivu
Itse ajattelin tässä, että helppo homma kun siirtää formin tiedot aina seuraavalle sivulle POST:lla kun painaa Jatka-nappia. Tässä kuitenkin tuli ongelma vastaan, kun tiedontallennus kantaan tapahtuu vasta 4. sivulla, eli sinne ei päädy tiedot 2. sivulta jossa käyttäjätunnus ja salasana kysytään. Neljäs sivu olisi tälläinen tietokantaan tallettaja / tiedon oikeellisuuden tarkastaja joka ei näy käyttäjälle mitenkään kun sanoo vain Kiitos tai virheilmoituksia sanelee.
- Talleta jo täytetyt tiedot temppi-tauluun ja pistä sessioon joku tunniste, viimeisellä sivulla sit INSERT INTO users SELECT * FROM tmp_users WHERE session = mysql_real_escape_string($_SESSION['id'])
- Talleta tiedot suoraan sessioon
- Kuljeta tiedot mukana hidden-kentissä
Jokaisessa omat puolensa, mieti mikä sopisi tarkoituksiisi parhaiten.
Tuo hidden-kenttä kyllä olisi kutkuttavan helppo ja nopea korjaus tähän. ;)
Pitää koittaa paremmalla ajalla tutustua näihin sessioihin kun ei taida oikein ilman pärjätä jos kunnolla meinaa hommat tehdä.
Hidden-kenttä toimii useimmiten ihan riittävän hyvin. Kahdessa muussa tapauksessa tiedot säilyvät, vaikka sivulle tultaisiin uudestaan vähän ajan päästä ilman lomakkeen lähettämistä. Jos dataa on huomattavan paljon (mitä epäilen), niin onhan se vähän turhaa lähetellä sitä edestakas serverin ja selaimen välillä. Silloin tuo temppi-taulu olis mun mielestä järkevin ratkaisu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.