Gal galit patarti kaip padaryti. Radau scriptą, kuris tikrina pašto kodą: function checkPostcode (&$toCheck) { $alpha1 = "[abcdefghijklmnoprstuwyz]"; $alpha2 = "[abcdefghklmnopqrstuvwxy]"; $alpha3 = "[abcdefghjkstuw]"; $alpha4 = "[abehmnprvwxy]"; $alpha5 = "[abdefghjlnpqrstuwxyz]"; $pcexp[0] = '^('.$alpha1.'{1}'.$alpha2.'{0,1}[0-9]{1,2})([0-9]{1}'.$alpha5.'{2})$'; $pcexp[1] = '^('.$alpha1.'{1}[0-9]{1}'.$alpha3.'{1})([0-9]{1}'.$alpha5.'{2})$'; $pcexp[2] = '^('.$alpha1.'{1}'.$alpha2.'[0-9]{1}'.$alpha4.')([0-9]{1}'.$alpha5.'{2})$'; $pcexp[3] = '^(gir)(0aa)$'; $pcexp[4] = '^(bfpo)([0-9]{1,4})$'; $pcexp[5] = '^(bfpo)(c\/o[0-9]{1,3})$'; $postcode = strtolower($toCheck); $postcode = str_replace (' ', '', $postcode); $valid = false; foreach ($pcexp as $regexp) { if (ereg($regexp,$postcode, $matches)) { $toCheck = strtoupper ($matches[1] . ' ' . $matches [2]); $toCheck = ereg_replace ('C\/O', 'c/o ', $toCheck); $valid = true; break; } } $postcode = strtoupper(str_replace(' ','',$postcode));if (!checkPostcode($postcode) ) { $error['postcode'] = "Invalid Post Code, please try again";} if ($valid){return true;} else {return false;};} Neišeina padaryti, kad įvestą pašto kodą įrašytu į DB. DB yra sukurta lentelė „users“ su laukais „email, pass, first_name, last_name, city, town, post_code, active, registration_date“. Pildant forma kitų formos laukų duomenis įrašo į DB nes pvz. formos lauką „Town“ tikrinu tokiu būdu: if (eregi ('[[:alpha:]]{2,30}$', stripslashes(trim($_POST['town'])))) { $tw = escape_data($_POST['town']); } else { $tw = FALSE; echo '<p><font color="red" size="+1">Please enter your town!</font></p>'; } Kintamąjį „$tw“ įrašau į užklausą: $query = "INSERT INTO users (email, pass, first_name, last_name, city, town, post_code, active, registration_date) VALUES ('$e', SHA('$p'), '$fn', '$ln', '$ct', '$tw', '$a', NOW() )"; Ir viskas ok. Patarkit, kaip padaryti taip pat, kad įrašytų ir „postcode“ lauko duomenis tokiu pat būdu? Dėkoju iš anksto. "fliks" <pasto@nera.dd> wrote in message news:h158mr$983$1@trimpas.omnitel.net... > Tame kodo gabaliuke tik parašiau, kaip galima būtų daryti formoj įvestos > post code reikšmės pradžios tikrinimą su db esančiomis leidžiamomis post > code pradžiomis, nes, kaip supratau, to ir klausei. > > Be abejo, dar prieš tikrinant su db, reiktų padaryti formoj įvesto post > code formato tikrinimą, pvz, su regexp paterna, nes gali būti, kad į formą > bus suvesta post code su teisinga pradžia (kuri yra db), o po jos gali > sekti bilekokios raidės ar skaičiai ir pan (pvz, 'PO123abcs00'). > > O dėl to Array, tai lentoje į tą post_code buvo saugomas masyvas, ne > stringas. Greičiasiai php kode yra klaida. > > > Darius wrote: >> fliks: Bandau tavo koda, registracija atlieka, tik DB kur laukas >> "post_code" vietoj pasto kodo iraso "Array". Ir pildant forma gali rasyti >> bet ka, netikrina? Kame gali buti beda? >> >> >> >> "fliks" <pasto@nera.dd> wrote in message >> news:h0pad9$hq$1@trimpas.omnitel.net... >>> P.S. Čia jei naudojama MySQL. Analogiškai galima tą patį parašyti ir >>> kitokiai dbms. >>> >>> >>> fliks wrote: >>>> Kalbant apie DB, jei lenta yra post_code_tbl, o post code pradžios yra >>>> stulpelyje post_code_beg (VARCHAR tipo), galima būtų rašyti taip: >>>> >>>> >>>> $form_post_code = isset($_POST['post_code']) ? >>>> ltrim(rtrim($_POST['post_code'])) : ''; >>>> >>>> if($form_post_code != '') { >>>> >>>> $db_query = 'SELECT COUNT(post_code_beg) FROM post_code_tbl WHERE >>>> post_code_beg = SUBSTRING(\'' . >>>> mysql_real_escape_string($form_post_code, $link) . '\', 1, >>>> LENGTH(post_code_beg))'; >>>> >>>> $result = mysql_query($db_query); >>>> >>>> $row = mysql_fetch_row($result); >>>> >>>> if($row[0] == 0){ >>>> // formoje post code reikšmė neatitiko nė vienos post code >>>> pradžios >>>> } >>>> >>>> } else { >>>> >>>> echo 'Please enter post code!'; >>>> } >>>> >>>> >>>> Reikia tikrinti, ar mysql_query() kažką (teisingai) grąžino ir pan. >>>> Surašiau tik bendrai, kaip galima būtų daryti tą code tikrinimą. >>>> >>>> >>>> Darius wrote: >>>>> Cia idejau kokiu principu tikrinu litus formos laukus. Gal galetum >>>>> konkreciau paaiskint kaip reiketu padaryti, kad tikrintu Post code >>>>> lauka?Sakykim duomenys jau yra suvesti i DB. >>>>> Buciau begalo dekingas. >>>>> >>>>> >>>>> "RobeNebijaka" <nebijau@spamo.lt> wrote in message >>>>> news:h0nfec$epq$1@trimpas.omnitel.net... >>>>>> Last name galima sutikrinti ir su regexpais, bet jei nori tikrinti su >>>>>> kažkokiais duomenimis tai regexp tau nepadės su regexp gali >>>>>> patikrinti nebent kad butu iš kelių raidžių ir kažkiek skaičių. >>>>>> >>>>>> "RobeNebijaka" <nebijau@spamo.lt> wrote in message >>>>>> news:h0nf6v$ej6$1@trimpas.omnitel.net... >>>>>>> Tai kaip ten yra ką nori tikrinti? Post Code ar Last Name? >>>>>>> >>>>>>> "Darius" <darzi@takas.lt> wrote in message >>>>>>> news:h0lnkk$9t$1@trimpas.omnitel.net... >>>>>>>> Laukui "Last name" naudoju toki tikrinima: >>>>>>>> >>>>>>>> // Check for a last name. >>>>>>>> if (eregi ('^[[:alpha:]\.\' \-]{2,30}$', >>>>>>>> stripslashes(trim($_POST['last_name'])))) { >>>>>>>> $ln = escape_data($_POST['last_name']); >>>>>>>> } else { >>>>>>>> $ln = FALSE; >>>>>>>> echo '<p><font color="red" size="+1">Please enter your last >>>>>>>> name!</font></p>'; >>>>>>>> } >>>>>>>> >>>>>>>> Sakykim sudejau kodus i DB, kokiu pavidalu reiketu uzduoti salyga? >>>>>>>> >>>>>>>> >>>>>>>> "RobeNebijaka" <nebijau@spamo.lt> wrote in message >>>>>>>> news:h0ln7j$v92$1@trimpas.omnitel.net... >>>>>>>>> Nepapraščiau sudėt į db ir paskui vieno select'o klausimas lieka? >>>>>>>>> >>>>>>>>> "Darius" <darzi@takas.lt> wrote in message >>>>>>>>> news:h0lmqq$ugj$1@trimpas.omnitel.net... >>>>>>>>>> Sveiki, >>>>>>>>>> >>>>>>>>>> Reikia Jusu pagalbos. Padariau registracijos forma, visi laukai >>>>>>>>>> tikrinami, kad butu uzpildyti. Patarkit kaip padaryti, kad >>>>>>>>>> tikrintu "Post code" lauka, kai "Post code" prasideda is keliu >>>>>>>>>> didziuju raidziu ir skaiciu, jie yra pastovus, nesikeicia. Visi >>>>>>>>>> sie kodai yra atskirame faile, txt pavidale. Kaip reiketu >>>>>>>>>> padaryti,kad zmogus iveda pasto coda, o sistema patikrina ar >>>>>>>>>> atitinka kodo pradzia esanti sarase? >>>>>>>>>> Dekoju is anksto. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>> >>