Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Monisivuinen lomake

Sivun loppuun

grandvia [29.09.2009 09:01:02]

#

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?

Macro [29.09.2009 09:07:02]

#

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.

Blaze [29.09.2009 09:08:08]

#

Minä tallentaisin käyttäjän antamat tiedot sessioon odottamaan sitä, että kaikki on kerätty.

grandvia [29.09.2009 09:14:31]

#

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?

jo123 [29.09.2009 10:18:48]

#

grandvia kirjoitti:

Meinaat nimenomaan piilotettuja kenttiä?

Miten niin piilotettuja kenttiä?

Metabolix [29.09.2009 11:15:55]

#

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.

grandvia [29.09.2009 12:56:42]

#

Sessioneillahan tuo onnistui paremmin kuin kätevästi. Hienoa.

Kiitos kaikille auttaneille!

Lebe80 [29.09.2009 13:45:42]

#

Entäpä jos käyttäjä jostain kumman syystä täyttää kahta lomaketta samaan aikaan?

Macro [29.09.2009 16:39:17]

#

Sitten keksin nimi voi olla

<?php
$id = md5(uniqid(""));
setcookie("lomakkeenkentta1_$id", $_POST["lomakkeenkentta1"]);

Lebe80 [01.10.2009 10:38:58]

#

voi olla = pitää olla


Siltikään mukana kulkevista piilokentistä tuskin on haittaa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta