Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP - Kirjoitusmerkkien raja

Sivun loppuun

konsta93 [21.06.2007 18:58:21]

#

------------------- Index.php

<form action="laheta.php"><textarea name="raja"></textarea></form>

------------------- laheta.php

Kysymys kuuluu että miten saisin tietyn vähimmäis merkkirajan tällä tavalla ?


Kiitos etukäteen.

Vasta_alkaja [21.06.2007 20:01:50]

#

function TarkistaLomake(form)
{
// Kerataan virheet taulukkoon jos on useampia tarkoitus tarkistaa
var virhe = false;
var virheIlmoitukset = [];

// Jos määrä on pienempi kuin 11 niin värjätään alue punaisella ja
// ilmoitetaan virhe alertti ikkunassa, kun kaikki virheet on käyty läpi

    if($F('raja').length != 11)
    {
        virhe = true;
        $('raja').addClassName("virhe");
        virheIlmoitukset.push(" - Tieto on liian lyhyt");
    }

// Kun virhe on korjattu palataan alkuasetelmiin
    else
    {
        $('raja').removeClassName("virhe");
    }

// Tässä sitten tulostetaan sieltä taulukosta ne kaikki virheet kun läpi
// on käyty lomake
 if(virhe)
    {
       alert("Virheitä:\n" + virheIlmoitukset.join("\n"));
        return;
    }
// Lähetetään onnistunut lomake maailmalle
form.submit();
}

Tyylit sitten sinne head tagien väliin ja homma toimii

<style type="text/css">
 .virhe { border: 2px solid red !important; }
</style>

Tällä tavalla tarvitset kuitenkin avuksesi javascriptin prototypen, joka on ilmaisena käytettävissä. Todella tutustumisen arvoinen.

http://www.prototypejs.org/

Antti Laaksonen [21.06.2007 22:39:00]

#

Pelkällä PHP:llä tarkistus on tällainen:

<?php
if (strlen($_GET['raja']) < 10) {
    die("Viestissä täytyy olla ainakin 10 kirjainta!");
}
// tietojen lähetys
?>

konsta93 [21.06.2007 22:52:04]

#

Kiitos !

Vasta_alkaja [22.06.2007 11:40:42]

#

function TarkistaLomake(form)
{
    if($F('raja').length < 10)
    {
        alert("Virheitä:\n" + virheIlmoitukset.join("\n"));
    }
form.submit();
}

Ilman koko lomakeosuuden tarkistusta ja virheiden näyttämistä graafisesti ei javascript-osuuskaan niin pitkä ole

tsuriga [22.06.2007 12:20:50]

#

Omalta formilta lähettäessä se raja ei päde, eli kyllä siellä serveripuolellakin on hyvä olla tarkistus. Saakos tuota JavaScript-tarkistusta toimimaan siten, että lomakkeen voi lähettää myös vaikka ei JS olisi päällä?

Vasta_alkaja [22.06.2007 18:57:05]

#

No tässä vaiheessahan se tietenkin astuu ainaisena ongelmana js-käyttö. Mutta ajattelin vain vaihtoehtoja niille, joilla ei php tukea ole.

Lebe80 [24.06.2007 13:53:22]

#

Vasta_alkaja kirjoitti:

No tässä vaiheessahan se tietenkin astuu ainaisena ongelmana js-käyttö. Mutta ajattelin vain vaihtoehtoja niille, joilla ei php tukea ole.

Mites lomakkeet käsitellään jos ei ole mahdollista palvelimen pään skriptaukselle?

Eli mitäs tuo laheta.php sisältää, jos php ei ole käytössä ;P

laheta.php

<h1>Moi</h1>

?

edit:
pieni mahdollisuushan on, että lomakkeen käsittelijä on jonkun muun palveluntarjoajan hallinnassa, mutta silloinkin tuo js-kikka on melko huono estämään väärän mittaista tekstiä. Käytettävyyttähän se taas parantaa estämällä vahinkolaukaukset, jolloin sivua ei tarvitse ladata uudelleen.


Sivun alkuun

Vastaus

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

Tietoa sivustosta