Validointi ja dynaamiset lomakkeet - Luento 6

Jatketaan lomakkeen käsittelyä PHP:lla. Aiheina validointi, oletusarvon täyttö, moniulotteiset taulukot ja dynaamiset lomakkeet. Käydään viikkotehtävä 2 läpi.

Luentotaltiointi

Ongelmia videon katselussa?

Viikkotehtävä 2

Huomioita

Pienempiä huomioita:

PHP-koodin debuggaus

Vielä debug-mahdollisuudet kertauksena:

Lomakkeet ja tietosuoja

Henkilötietolain mukaan pääsääntöisesti kaikesta henkilötietojen automaattisesta käsittelystä tulee tehdä ilmoitus tietosuojavaltuutetulle. Esimerkiksi jos tehdään WWW-lomakkeita, joissa kysytään henkilöä koskevia arkaluonteisia tietoja, ja tallennetaan ne johonkin, niin tällöin tehtävä rekisteri-ilmoitus. Jos palvelua käytetään tietoverkossa, rekisteriseloste tulee liittää verkkopalvelun yhteyteen.

SSH-avaimet

Autentikointi voidaan tehdä palvelimelle sijoitettavaan julkiseen avaimeen perustuen, jolloin esim. tiedostojen kopiointi helpottuu. Tässä ohjeistusta Mika Videnojan ohjeeseen perustuen:

  1. Oletetaan, että SSH Secure Shell 3.2.9 on asennettu.
  2. Luodaan SSH-avainpari kotikoneen komentorivillä (cmd)
    ssh-keygen2.exe -b 1024 -t dsa -P
  3. Kopioidaan polussa Documents and Settings\%username%\Application Data\SSH\UserKeys oleva julkinen avain id_dsa_1024_a.pub palvelimen käyttäjän kotihakemistossa olevaan .ssh-hakemistoon, esim. SFTP:llä tai SCP:llä.
  4. .ssh-hakemistoon kaikki oikeudet ainoastaan käyttäjälle.
  5. Aja .ssh-hakemistossa komento
    ssh-keygen -f ~/.ssh/id_dsa_1024_a.pub -X >> ~/.ssh/authorized_keys
  6. Tiedostoon authorized_keys ainoastaan luku- ja kirjoitusoikeus käyttäjälle.
  7. Nyt ssh2 ja scp2 toimivat ilman salasanan kyselyjä. Graafisessa liittymässä pitää valita autentikointimetodiksi Public Key. Hakemiston ja kaikki sen alihakemistot ja niissä olevat tiedostot voi siirtää seuraavalla komennolla:
    scp2 -r hakemisto omatunnus@jalava.cc.jyu.fi:html/sovellukset/

PHP-lomake-esimerkki

Esimerkkikoodit kommenteilla:

Jatketaan esimerkkilomakkeen tekemistä.

  1. Lähetyksen tarkistaminen ennen oletusarvojen tulostamista
    • Tulostetaanko lomake pelkkänä XHTML:nä vai tarkistellaanko jokaisessa kohdassa erikseen onko lähetetty?
    • Jos erotellaan lähetetty ja ei-lähetetty tilanne, niin tällöin tulee kaksi erillistä lomaketta. Tällöin ei tarvitse montaa if-lausetta, mutta päivitettävyys kärsii.
    • Jatkamme toistaiseksi if-linjalla, koska myöhemmin on helpompi tehdä dynaamisia lomakkeita.
    • Ennen pitkää tavoite on päästä eroon toistuvasta if-lauseiden kirjoittamisesta. Tämä onnistuisi olioiden avulla, jotka kapseloivat virheenkäsittelymekanismit.
  2. Moniulotteinen virhetaulukko - useita virheitä yhdessä kohdassa
    • Katenointioperaattori .
  3. Merkin vertailu merkkijonosta
  4. Onko numero?
  5. Valintavaihtoehdon oletusarvon täyttäminen virhetilanteessa
  6. Useiden lomake-elementtien läpikäynti kerralla
  7. Keskiarvon laskeminen väitevaihtoehdoista
  8. Dynaamiset lomakkeet
    • Väitevaihtoehtojen lisääminen taulukon avulla
    • include, require
    • Väitteiden indeksointi
  9. Eri päivien kilokalorit?
    • Moniulotteinen taulukko suoraan lomakkeelta
    • Minä päivänä tuli eniten energiaa?

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/sovellukset/luennot/luento6/
© Jukka Mäntylä (jmantyla@mit.jyu.fi) <http://www.iki.fi/jmantyla/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
2007-04-19 14:42:31