labaiss Posted November 5, 2010 Report Share Posted November 5, 2010 (edited) Labdien, Tā kā esmu pilnīgs iesācējs PHP vēlētos dzirdēt Jūsu domas par manu klasi vārda validācijai. Vēlos dzirdēt visu kritiku par kodu (rakstības ziņā, kā labāk darīt, kā nevajag darīt, kā labāk komentārus pierakstīt, kā labāk padot mainīgos, kas tur ir nepareizi) Bieži esmu ievērojis, ka šeit visiem patīk labot citu kļūdas, kur pat tas nav jautāts - nu tad šoreiz Aiziet - lūdzu 100% kritiku. Tā tad mani faili: form.php validation.php Form.php : <?php include("validation.php"); if ($_POST["ok"] == "Apstiprinu") { $n_name = $_POST["n_name"]; $n = new validation(); $n_nameRes = $n->nameValid($n_name); echo $n_nameRes; } else { } ?> <htmL> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="text" name="n_name" /> <input type="submit" name="ok" value="Apstiprinu" /> </form> </body> </htmL> Validation.php : <?php class validation { function nameValid($n_name) // Vārda validācijas funkcija { if (strlen($n_name) >= 3) { // pārbaudam vārda garumu if(preg_match("#^[-A-Za-z' ]*$#",$n_name)) { // pārbaudam vai tas ir vārds //atbilsts $done = "Vārds atbilsts!"; return $done; } else { //neatbilsts $done = "Vārds neatbilst!"; return $done; } // preg_match beigas } // strlen($n_name) else { $done = "Vārds ir pārāk īss!"; return $done; } // strlen($n_name) beigas } // nameValid funkcijas beigas } // class validation ?> Gaidu pamācošu kritiku. Edited November 5, 2010 by labaiss Quote Link to comment Share on other sites More sharing options...
briedis Posted November 5, 2010 Report Share Posted November 5, 2010 Izmantoju šitādu pašrakstītu funkciju, lai validētu/noformatētu/attīrītu personas vārdu. /** * Funkcija validē cilvēku vārdus. Izmet liekos simbolus, pirmos burtus pataisa lielus * @param string $persons_name Cilvēka vārds, uzvārds vai tēvavārds * @return string Validēts vārds */ function validateName($persons_name){ //Visus pataisam mazus $persons_name = mb_strtolower($persons_name); //Izmetam nederīgos simbolus (atstarpe ir derīga) $persons_name = preg_replace('/[^āēģīķļņабвгдеёжзийклмнопрстуфхцчшщъыьэюяąčęėįųūßabcdefghijklmnopqrsšzžtuvwõäöüxy ]/', ' ', $persons_name); //Normalizējam atstarpes $persons_name = trim(preg_replace('/\\s+/', ' ', $persons_name)); //Pataisam pirmos burtus lielus $names = array(); foreach(explode(" ", $persons_name) as $word){ $names[] = mb_strtoupper(mb_substr($word, 0, 1)) . mb_substr($word, 1); } return implode(" ", $names); } Quote Link to comment Share on other sites More sharing options...
labaiss Posted November 5, 2010 Author Report Share Posted November 5, 2010 (edited) Paaldies! Bet kā tad ar manu? Vispār der kaut kam? Edited November 5, 2010 by labaiss Quote Link to comment Share on other sites More sharing options...
daGrevis Posted November 5, 2010 Report Share Posted November 5, 2010 htmL? xD Quote Link to comment Share on other sites More sharing options...
labaiss Posted November 5, 2010 Author Report Share Posted November 5, 2010 htmL? xD Ja jau tur kaut, kas ir nepareizi - tad jau es to nezinu. Quote Link to comment Share on other sites More sharing options...
briedis Posted November 5, 2010 Report Share Posted November 5, 2010 <? class Validation { /** * Validējam vārdu * @param string $n_name Personas vārds * @return bool True - valīds, False - kļūdains */ public static function nameValid($n_name){ return (mb_strlen($n_name, "UTF-8") >= 3 && preg_match("#^[-A-Za-z' ]*$#",$n_name)); } //Citas validācijas } //Izsaukšana if(Validation::nameValid("Jānis Pētersons")){ echo "Ir valīds"; }else{ echo "nav valīds"; } Quote Link to comment Share on other sites More sharing options...
labaiss Posted November 5, 2010 Author Report Share Posted November 5, 2010 (edited) <? class Validation { /** * Validējam vārdu * @param string $n_name Personas vārds * @return bool True - valīds, False - kļūdains */ public static function nameValid($n_name){ return (mb_strlen($n_name, "UTF-8") >= 3 && preg_match("#^[-A-Za-z' ]*$#",$n_name)); } //Citas validācijas } //Izsaukšana if(Validation::nameValid("Jānis Pētersons")){ echo "Ir valīds"; }else{ echo "nav valīds"; } Nu jā - šitā ir vienkāršāk, īsāk un kompaktāk! :D Edited November 5, 2010 by labaiss Quote Link to comment Share on other sites More sharing options...
daGrevis Posted November 5, 2010 Report Share Posted November 5, 2010 Par to "htmL"... Visiem tagiem jābūt ar mazajiem burtiem, tātad "html". xD Pats stulbākais ko varēju izdomāt. =) Quote Link to comment Share on other sites More sharing options...
labaiss Posted November 5, 2010 Author Report Share Posted November 5, 2010 Par to "htmL"... Visiem tagiem jābūt ar mazajiem burtiem, tātad "html". xD Pats stulbākais ko varēju izdomāt. =) :D aaaa Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.