PHP form tarkistus

koodaja

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.

1

450

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • harmaahurtta

      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.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. On tiedossa, että venäjämieliset diggaavat diktatuurista venäjää

      jossa ei esim. ole sanan- ja lehdistönvapautta. Mutta keitä nämä venäjän palvojat sitten ovat, ei heitä toki paljon ole
      Maailman menoa
      19
      2176
    2. Vihreiden, SDP:n ja Vasemmistoliiton kannattajista selvästi alle puolet on miehiä

      ja silti joku punafeministi valitti kokoomuksen naiskannattajien puutteesta, vaikka siellä on enemmän naisia kuin punavi
      Maailman menoa
      39
      2075
    3. Belfastissa käynnissä kunnon persuilu

      Joku random mamu tekee rikoksen, niin sikäläiset naamiopersut kostavat tuhoamalla kantaävestön omaisuutta. Liekö siellä
      Maailman menoa
      28
      1970
    4. Persujen kannatusromahdus tekee kesästä 2026 nautinnollisen

      Satoi tai paistoi, niin Suomen kansalaisella on kuluvana kesänä syytä hymyyn. Niin upealta tuntuu persujen kannatusroma
      Maailman menoa
      47
      1386
    5. Mitä kirjainta haluaisit

      Ra kastella mahdottomasti?
      Ikävä
      74
      1326
    6. Onko kaivattusi rohkeampi kuin sinä?

      Vai oletko sinä rohkeampia? Mikä on rohkea teko, minkä sinä tai kaivattusi on tehnyt? Mitä siitä seurasi?
      Ikävä
      46
      873
    7. Kaunein nimi

      Mikä on mielestäsi kaunein miehen ja naisen nimi? Haluaisitko itse olla joku toisen niminen?
      Ikävä
      56
      802
    8. Farmi-Amski ja Jucci Hellström - Sydämiä satelee - Onko tässä jotain enemmän?

      Amskidamski Anne-Mari Tarkkio ja Jucci Hellström olivat samaan aikaan Farmi Suomi -realityssä. Nyt somessa on nähty mat
      Kotimaiset julkkisjuorut
      8
      741
    9. Arvaa sattuuko se

      Että teen töitä siihen että unohdan sinut. Mitä muutakaan voin
      Ikävä
      52
      713
    10. Rakastan sinua hiljaisuudessa

      Rakastan sinua hiljaisuudessa. Olisit minun tai et, olen odottanut sinua vuosisatojen ajan. Ilman sinua sydämeni on yksi
      Rakkaus ja rakastaminen
      32
      698
    Aihe