Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provera malo komplikovanije forme

[es] :: PHP :: Provera malo komplikovanije forme

[ Pregleda: 2652 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.vdial.verat.net

Sajt: www.dphotonews.com


Profil

icon Provera malo komplikovanije forme10.02.2004. u 20:32 - pre 245 meseci
Problem je sledeci:
Naime, potrebno je da uradim jednu povecu formu koja bi podatke prosledjivala dalje,., da li na mail ili u bazu nije bitno za prichu.,., problem sa kojim sam se sreo sad, a i dosada je u proverama.
Naime dosada sam koristio samo proveru da li je u polje upisano bilo shta i ako nije vracala bi nazad da se popuni, ali sa tim da su dotada popunjena polja zadrzavala one vrednosti koje su unete u njih.
To sam radio tako shto bih prvo primio promenjive, proverio polja, i ako neki od uslova nije ispunjen, preshlo bi se na kod prethodne strane.,.,. ,evo kako je to izgledalo.,., uproshteno naravno.,.,., ako me neko ne razume:


Prva strana na kojoj se nalaze polja!!!

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
<p>
<input name="ime" type="text" id="ime">
Ime
</p>
<p>
<input name="prezime" type="text" id="prezime">
Prezime
</p>
<p>
<input type="submit" name="Submit" value="Unesi">
<input type="reset" name="Submit2" value="Reset">
</p>
</form>
</body>
</html>


Druga strana koja proverava i prosledjuje dalje podatke

<?php
$ime = $HTTP_POST_VARS['ime'];
$prezime = $HTTP_POST_VARS['prezime'];

if ( empty ( $ime )|| empty ( $prezime ))
{
?>
<font color=\"#ff0000\">Neko od polja nije uneto!!!</font>
<form name="form1" method="post" action="">
<p>
<input name="ime" type="text" id="ime" value="<?php print "$ime"; ?>">
Ime
<?php if ( empty ( $ime ) ) { print "<font color=\"#ff0000\">*</font>"; } ?>
</p>
<p>
<input name="prezime" type="text" id="prezime" value="<?php print "$prezime"; ?>">
Prezime
<?php if ( empty ( $prezime ) ) { print "<font color=\"#ff0000\">*</font>"; } ?>
</p>
<p>
<input type="submit" name="Submit" value="Unesi">
<input type="reset" name="Submit2" value="Reset">
</p>
</form>
<?php
} else {
$to = "[email protected]";
$subject = "Forma";
$message = "
Korisnik je uneo sledece podatke\n

Ime klijenta: $ime \n
Prezime klijenta: $prezime \n
";
mail ( $to, $subject, $message);
echo "Mail je poslat!!!";
exit();
}

?>

Kao shto vidite u drugom fajlu ako nije neshto uneto prlazi se na ponovni unos, s'tim da se zadrzavaju vrednosti koje su unete.

I shta je sada problem?!
Pa sve je ovo lako kada se rade male forme i kada se od vas ne zahteva da proveravate da li su u polje ime uneta samo slova, da li je telefon OK, i sve ostalo.,.,.,.
Ali shta se deshava kada je potrebna provera i imena (da li su slova samo u pitanju), i telefona, i soc. broja, lichne karte.,.,.
Pokushavao sam neshto da uradim preko funkcija koje bi proveravale da li su u pitanju samo brojevi ili slova.,.,., ali .,.,., ali je tu shto se sve ovo jako zakomplikuje kada imate formu sa 30ak polja, pa kad morate da kopirate sva polja.,.,,.,

Znachi shta mene interesuje.,., ima li neko prostije reshenje od ovoga koje sam koristio dosada?
Zna li ko koje se funkcije koriste.,., ja sam koristio sledecu npr. za e-mail validaciju

$pattern = '^([._a-zA-Z0-9-]){2,255}@([._a-zA-Z0-9-]){2,255}\.([a-zA-Z]){2,3}$';
if (!ereg ($pattern,$email)) {
echo "bad email";
}
i nije mi se pokazala OK.,.,., i ovu

if (ereg(^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$, $_POST['email'])) {
echo "<br>Please enter a valid e-mail address.";
}

Nashao sam dosta primera na NETu ovih provera, ali nijedan primer ovoga shto meni treba.
PLS, nemojte mi reci da koristim JAVAu ili sl. Zelim ovo da uradim u PHPu!
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.access-sa1.lsinter.net



Profil

icon Re: Provera malo komplikovanije forme10.02.2004. u 21:35 - pre 245 meseci
evo nije bas 100% ono sto trazis ali ima dosta elemenata ustvari provjerava sve elemente forme prije upisa u database:

http://www.phpinsider.com/php/code/SafeSQL/

Tamo imas provjere jeli nesto numericko, mail, samo slova slova i brojevi minimalna/max duzina i mnogo stosta.

Tamo imas objasnjenja sta i kako raditi a ovo je malo starija klasa ali tamo mozes naci trag kuda dalje ici.
 
Odgovor na temu

luka357
Banja Luka

Član broj: 16848
Poruke: 34
*.teleklik.net.



Profil

icon Re: Provera malo komplikovanije forme10.02.2004. u 22:29 - pre 245 meseci
Probaj ovo da primjenis, kod mene radi na jednoj veoma velikoj formi, ako ti trebaju neke druge provjere mogu da pregledam neke svoje aplikacije u kojima sam koristio provjere za upise u bazu i na server preko formi.

$validEmailExpr =
"^[0-9a-z~!#$%& -]([.]?[0-9a-z~!#$%& -])*" .
"@[0-9a-z~!#$%& -]([.]?[0-9a-z~!#$%& -])*$";

if (empty($email))

$errors["email"] .= "Elektronska adresa je obavezna kategorija.";

elseif (!eregi($validEmailExpr, $email))
// Adresa poste mora da se poklapa sa regularnim izrazom
$errors["email"] .= "Adresa poste mora da se poklapa sa regularnim izrazom ime@domain.";

elseif (strlen($email) >50)
//Dozvoljeno je najvise 50 znakova
$errors["email"] .= "Dozvoljeno je najvise 50 slovnih znakova.";
 
Odgovor na temu

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.vdial.verat.net

Sajt: www.dphotonews.com


Profil

icon Re: Provera malo komplikovanije forme10.02.2004. u 23:26 - pre 245 meseci
Hvala vam na pomoci, ali mozda sam ja malo da kazem promashio.,.,., evo na shta mislim.
Naime, ima dosta objashnjenja na NETu kako proveriti ispravnost.,.,. mene za sad vishe interesuje da li je put koji koristim OK. Da li je u redu ovakav nachin "vracanja" nazad uz upozorenje da neshto nije upisano?
Shta vi koristite?
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.vdial.verat.net



+3 Profil

icon Re: Provera malo komplikovanije forme10.02.2004. u 23:41 - pre 245 meseci
Mrzelo me da citam kod koji si poslao, ali pod hitno razmisli o koriscenju nekog templejt sistema. Inace princip koji si opisao je sasvim OK, korisnik popuni formu ti proveris polja i ili ides dalje ili ga vracas na formu sa porukom o gresci. Idealno bi bilo kada bi postojala i JS validacija cisto da se podaci ne salju na server i nazad u slucaju neke trivijalne greske(ne popunjeno polje, neka prostija validacija).

Owl
 
Odgovor na temu

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.vdial.verat.net

Sajt: www.dphotonews.com


Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 00:27 - pre 245 meseci
Eto, da si prochitao barem kraj video bi da je bash to reshenje ono shto ne zelim.,.,. jako retko upotrebljavam ono za shta ne znam kako funkcionishe :)
Ipak, hvala ti!
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
Odgovor na temu

arsa xx
Srdjan Arsic
Beograd

Član broj: 14203
Poruke: 452
*.air.tehnicom.net

ICQ: 247217004
Sajt: webdizajn.arsic.biz


Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 01:23 - pre 245 meseci
Svakako ces morati zasuci rukave
evo male pomoci: http://www.thewebmasters.net/php/Validator.phtml
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 08:26 - pre 245 meseci
Citat:
Zlatiborac:
...
PLS, nemojte mi reci da koristim JAVAu ili sl. Zelim ovo da uradim u PHPu!
Citat:
_owl_:
Idealno bi bilo kada bi postojala i JS validacija cisto da se podaci ne salju na server i nazad u slucaju neke trivijalne greske(ne popunjeno polje, neka prostija validacija).

Eto, da si prochitao barem kraj video bi da je bash to reshenje ono shto ne zelim.,.,. jako retko upotrebljavam ono za shta ne znam kako funkcionishe :)
Ipak, hvala ti!

_owl_ je predložio da se koristi JS validacija, što nije Java a nije ni slično.

Princip validacije u JS je prilično sličan opisanom u PHP-u. Postoje regularni izrazi za određene oblike traženog unosa i radi se provera da li vrednost nekog polja u formularu zadovoljava pretpostavljenu šemu. Ako je neko polje neispravno popunjeno, formular se ne prosleđuje već se, na primer, daje poruka o grešci i selektuje neispravno popunjeno polje. Formular se prosleđuje tek kada su sva polja uspešno postavljena.

Zašto cela ova priča? Dva su razloga - izbegava se maltretiranje korisnika u čekanju nove stranice koja javlja grešku i izbegavaju se suvišni zahtevi serveru.

Opet, što se tiče provere - stoji preporuka da se izvrši JS validacija formulara pre slanja (za to JS isključivo i služi), a takođe stoji i preporuka da se i pored toga radi validacija i na PHP strani. Znači - dupla validacija.

Evo samo primer validacije u JS, da vidiš da to nije nešto strašno:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function proveri (formular)
{
if (formular.ime.value == '')
{
alert ('ime mora biti popunjeno');
formular.ime.focus ();
return false;
}
if (formular.prezime.value == '')
{
alert ('prezime mora biti popunjeno');
formular.prezime.focus ();
return false;
}
return true;
}
</script>

</head>

<body>
<form name="form1" method="post" action="">
<p>
<input name="ime" type="text" id="ime">
Ime
</p>
<p>
<input name="prezime" type="text" id="prezime">
Prezime
</p>
<p>
<input type="submit" name="Submit" value="Unesi" onclick="return proveri (this.form);">
<input type="reset" name="Submit2" value="Reset">
</p>
</form>
</body>
</html>
 
Odgovor na temu

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.ptt.yu.

Sajt: www.dphotonews.com


Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 12:55 - pre 245 meseci
Hmm.,.,., ovaj kod koji si dao radi proveru da li je ishta upisano .,.,., to mi je ferceralo i samo sa PHPom. Kako sada izvesti proveru ispravnosti upisanog polja, tj. da li se u imenu nalaze samo slova.,.,. u broju telefona samo brojevi i sl.???
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 14:21 - pre 245 meseci
Izvini, krenuo sam po prvom primeru koji je bio baš takav. Nije stvar u tome da ćeš u JS uraditi nešto što ne možeš u PHP-u. Za provere različitih oblika unosa koriste se takođe regularni izrazi, baš kao što bi se izvelo u PHP-u. Primer
Code:
function check_numeric (value)
{
  var r = /^\d+$/;
  return r.test (value);
}

Za proveru e-maila ne znam jer i nisam našao koji je opšti oblik dozvoljene e-mail adrese, a vidim da je to veći problem. U praksi je verovatno dovoljno nešto od ovih predloženih šema.

Sama ideja provere u JS je iz razloga da se spreči nepotrebno višestruko prosleđivanje formulara. Pored ove provere neophodna je i PHP provera jer korisnik može i da isključi JS u svom browseru (kada se formular prosleđuje u svakom slučaju).
 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.bbone.utic.net.ba.



Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 14:56 - pre 245 meseci
Evo ovdje imas masu php form validatora

http://php.resourceindex.com/F...e_Development/Data_Validation/
 
Odgovor na temu

Zlatiborac
Vladimir
Zlatibor

Član broj: 5397
Poruke: 117
*.vdial.verat.net

Sajt: www.dphotonews.com


Profil

icon Re: Provera malo komplikovanije forme11.02.2004. u 16:02 - pre 245 meseci
OK.,., pogledacu sve to. Malopre sam nashao jedan JS primerchic, pa ako ne stignem da zavrshim ono shto sam planirao moracu da koristim JS :(
Sajt sa dnevnim vestima vezanim za fotografiju, foto aparate i obradu slika
[url]http://www.dphotonews.com[/url]
 
Odgovor na temu

[es] :: PHP :: Provera malo komplikovanije forme

[ Pregleda: 2652 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.