Žymų Archyvai: programavimas

Codeigniter form with integrated data and file validation

In one application built on Codeigniter framework I needed to create a special form. The form had to allow a user to both enter text data and upload an image. It was actually the first time I had any experience with programming forms that would include file upload. And I found out it is not a completely trivial task in Codeigniter. There are multiple reasons for this, but the main one is this: image validation and form data validation are done separately in Codeigniter. Not only the validation is done by two different classes, but the error messages are also independent.

So I went on to create a form that would integrate both types of validation (or rather, the error messages). On the way I had to decide on one major usability problem: what to do with image if the user submits the right image but the rest of the form does not validate (for example, forgets to enter name or email). I decided to go with the simplest option – the image is discarded, and the user is warned to not forget to attach the image again (since the file upload field cannot be repopulated, as other fields can be).

Admittedly, the image could be saved to save user the trouble of attaching it again, but in that case you have to solve another problem – what to do with the images that the user (a malicious user) submits and subsequently fails to submit the properly filled in form. I know, something could be done at the browser level using Javascript validation, but the server-side validation is still necessary… Toliau skaityti Codeigniter form with integrated data and file validation

Pažiūrėkime, kokia nauda iš to optimizavimo paieškos varikliams (SEO)

Kažkada prieš gerą dešimtmetį, kai dar kūriau tinklaraštį, pamėginau įjungti gražių, Google ir kitiems paieškos varikliams pritaikytų puslapių adresų parinktį. Na, kad vietoje šifro https://dg.lapas.info/?p=580 rodytų gražų ir prasmingą adresą: https://dg.lapas.info/irasas/vanagai-is-anapus/

Anuomet man kažkas nesigavo – gal serverio nustatymai buvo neteisingi. Teko tuos gražius adresus išjungti. Pamatęs, kad Google ganėtinai neblogai indeksuoja mano neoptimizuotą svetainę, šią parinktį pamiršau. Be to, tie „negražūs“ adresai visgi turi vieną didelį pliusą – jie ganėtinai trumpi ir jų ilgis nepriklauso nuo straipsnio pavadinimo ilgio.

Prisiminiau tuos gražius adresus visai neseniai, betvarkydamas vienos nevyriausybinės organizacijos svetainę. Jei jau ten darau gražius adresus, gal reikia apsikuopti ir savam tinklaraštyje? Bent jau dėl dalinimosi nuorodomis socialiniuose tinkluose (daug maloniau įterpti nuorodą https://dg.lapas.info/irasas/vanagai-is-anapus/ nei nuorodą https://dg.lapas.info/?p=580, ar ne?

Pasirodo, įjungti tas nuorodas tokiam senam, šimtą kartų atnaujintam tinklaraštyje, kaip maniškiame, nėra taip jau paprasta. Toliau skaityti Pažiūrėkime, kokia nauda iš to optimizavimo paieškos varikliams (SEO)

Senos MySQL duomenų bazės koduotės sutvarkymas

Kairėje – duomenys svetainės sąsajoje, dešinėje - PHPMyAdmin progrmos sąsajoje
Kairėje – duomenys svetainės sąsajoje, dešinėje – PHPMyAdmin programos sąsajoje

Kas kada nors bandė tvarkyti MySQL duomenų bazių koduočių problemas, tas žino, kad tai dažnai nėra paprastas reikalas. Savo koduotes turi duomenų bazės, lentelės ir net lentelių stulpeliai, ir šios koduotės gali būti skirtingos vienoje ir toje pačioje duomenų bazėje. O kadangi MySQL dar prieš gerą dešimtmetį duomenis standartiškai įrašydavo Latin1 koduote, senesnėse žiniatinklio programose pasitaiko visokiausių kuriozų su koduotėmis.

Štai ir aš neseniai gavau pataisyti vienos organizacijos naudojamą klientų registravimo duomenų bazę. Svetainėje, naudojančioje duomenų bazę, mačiau gražias lietuviškas raides, bet atsidaręs tą pačią duomenų bazę su PHPMyAdmin programa lietuviškas raides matydavau beviltiškai sugadintas. Tikra bėda, jei reikia kažką paskubom pataisyti tiesiog PHPMyAdmin duomenų bazės programoje… Aukščiau matėte paveikslėlį, kur kairėje – kaip duomenys atrodo svetainėje, dešinėje – PHPMyAdmin programoje. Toliau skaityti Senos MySQL duomenų bazės koduotės sutvarkymas