PHP form tarkistus

Teen käyttäjän rekisteröinti-systeemin omalle kotisivulle, missä käyttäjä voi myös muokata jälkikäteen omat tiedot. (tiedot tallenetaan SQL tietokantaan)

Ongelmana on form lomakketietojen tarkistuksessa ja virheistä kertomisessa.

Ensin käyttäjä täyttää lomaken, sitten kun se lähetetään kone tarkistaa kaikki kentät, ja jos on virheitä, antaa käyttäjälle mahdollisuuden korjata virheet, eli palauttaa saman lomakkeen mutta täytettynä, ja virheelliset kohdat olisi merkitty punaisella fontilla, ja sivun ylälaidassa olisi kerrottu tarkemmin mahdollisista virheista, esim:

1. Tunnus "masa" on jo varattu
2. Sähköpostiosoitteesi on virheellisesa muodossa
3. Postinumerossa ei voi olla kirjaimia
jne..

Erilaisia tarkistuksia on siis aika paljon, ja haluaisin että, järjestelmä olisi helposti päivitettävissä, joten ratkaisu, missä on tuhat "if then" lausetta keskellä HTML koodia ei oikein houkuttele.

Olioilla se pitäisi rakentaa, mutta viikon suunnitelun jälkeen en ole vieläkään keksinyt mitään fiksua olioarakennetta järjestelmälle, ideat valitettavasti ovat lopussa.. :(

Tarkoituksena on siis oppia ja keksiä hyvä ratkaisu, eikä saada jotenkin tuo systeemi valmiiksi.
1453
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

Eikö se lähtis vaikka ihan näinkin helposti liikkeelle:

Tiedostoon kayttaja_class.php

Class Kayttaja
{
  var $kunnossa;
  var $tunnus;
  var $muita_haluamiasi_muuttujia;

  function Kayttaja($tunnus,...muut muuttujat...,$kunnossa=1)
  {
    $this->tunnari = $tunnari;
  }

  function tarkistaTunnari()
  {
    // Tunnuksen tarkistusta.
    // Jos tunnuksessa on jotain vikaa,
    // tulostetaan virhe. Esim
    // echo "Tunnuksessa saa olla vain alfanumeerisia merkkejä!";
    // ja käännetään $kunnossa -bitti
    // $this->kunnossa = 0;
  }

  // Tähän muut tarkistusfunktiot.

  function onkoKunnossa()
  {
    return $this->kunnossa;
  }


}

Nyt vain tarkistussivun alussa includoit kayttaja_class.php:

include "./kayttaja_class.php"

luot uuden käyttäjä-olion:

$testattava_kayttaja = new Kayttaja(argumentit lomakkeesta), ajat sille kaikki testit, voit vaikka luoda funktion testaaKaikkiOminaisuudet().

Seuraavaksi testaat, $testattava_kayttaja->onkoKunnossa() == 1 (// Tai true, en muista lennosta toimiiko). Mikäli toimii, kaikki on kunnossa ja voit lisätä uuden käyttäjän kantaan. Muuten tulosta lomake uudelleen ja siihen Valmiiksi käyttäjän viime kerralla antamat tiedot (Kauniisti tapahtuu esim luomalla annaTunnari()-funktio Kayttaja-olioon. Rumasti $testattava_kayttaja->tunnari).


Näin siis minä sitä lähtisin purkamaan. En tiedä vastaako tarpeitasi.

Äänestä

Kommentoi aloitusta


koodaja kirjoitti:

Teen käyttäjän rekisteröinti-systeemin omalle kotisivulle, missä käyttäjä voi myös muokata jälkikäteen omat tiedot. (tiedot tallenetaan SQL tietokantaan)

Ongelmana on form lomakketietojen tarkistuksessa ja virheistä kertomisessa.

Ensin käyttäjä täyttää lomaken, sitten kun se lähetetään kone tarkistaa kaikki kentät, ja jos on virheitä, antaa käyttäjälle mahdollisuuden korjata virheet, eli palauttaa saman lomakkeen mutta täytettynä, ja virheelliset kohdat olisi merkitty punaisella fontilla, ja sivun ylälaidassa olisi kerrottu tarkemmin mahdollisista virheista, esim:

1. Tunnus "masa" on jo varattu
2. Sähköpostiosoitteesi on virheellisesa muodossa
3. Postinumerossa ei voi olla kirjaimia
jne..

Erilaisia tarkistuksia on siis aika paljon, ja haluaisin että, järjestelmä olisi helposti päivitettävissä, joten ratkaisu, missä on tuhat "if then" lausetta keskellä HTML koodia ei oikein houkuttele.

Olioilla se pitäisi rakentaa, mutta viikon suunnitelun jälkeen en ole vieläkään keksinyt mitään fiksua olioarakennetta järjestelmälle, ideat valitettavasti ovat lopussa.. :(

Tarkoituksena on siis oppia ja keksiä hyvä ratkaisu, eikä saada jotenkin tuo systeemi valmiiksi.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu