codez Posted August 30, 2010 Author Report Share Posted August 30, 2010 (edited) Kas tas par pareizrakstības viedokli? Un pats tālāk raksti, ka visās konstrukcijās rezultāts ir vienāds. Vai tad tas nav lieliski? Tas jau arī ir tieši tas, ko es vēlos panākt - samazināt iespējamo varantu skaitu, respektīvi, lai nederīga id (burtu kombinācijas, float-a, neiesetota) gadījumā, viņš vienmēr būtu 0 vai vesels skaitlis(lai nēbūtu jā-if-o neskaitāmās iespējas), nevis unset, 0, null vai sazin vēl kas un, ja es to panāku ar x2,5 īsāku kodu, tad diez vai jūs mani pārliecināsiet, ka es kļūdos savā izvēlē. Un, ja vēl man kādrezi kāds šim gadījumam pieminēs performanci, tad es uz visiem laikiem viņu ierakstīšu savā melnājā cs-istu sarakstā. ;) Edited August 30, 2010 by codez Quote Link to comment Share on other sites More sharing options...
spainis Posted August 30, 2010 Report Share Posted August 30, 2010 float gadījumā nebūs vienmēr 0, tāpat ar stringiem :P Quote Link to comment Share on other sites More sharing options...
codez Posted August 30, 2010 Author Report Share Posted August 30, 2010 Cammon džeki, es nesaprotu kur jums ir problēma? $id=(int)@$_GET['id']; var_dump($id); $id šeit ir int tipa mainīgais visiem iespējamajiem ievadītajiem datiem, gan, ja $_GET['id'] nav iesetots, gan, ja $_GET['id'] ir strings ar burtiem, gan strings, kurš reprezentē floatu, kuru var bāzt gan SQL-ā neuztraucoties par sql injekcijāmn, gan izvadīt kā HTML, nebaidoties par XSS. Un kamēr kādam no jums nav tikpat īss un tikpat viegli uztverams veids kā to izdarīt, katrs nākamais jūsu koments tikai diskreditē jūs. Quote Link to comment Share on other sites More sharing options...
briedis Posted August 30, 2010 Report Share Posted August 30, 2010 (edited) Es rakstu principā tāpat, tikai izvairītos no @, pamocītos un uzrakstītu pāris simbolus vairāk... $id = isset($_GET['id']) ? (int)$_GET['id'] : 0; // vai null, gaumes lieta; Edited August 30, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
Леший Posted August 30, 2010 Report Share Posted August 30, 2010 codez, kā tavā variantā padot ?id=0, bet tā, lai nebūtu tas pats, kā ?id=asdf ? Quote Link to comment Share on other sites More sharing options...
codez Posted August 30, 2010 Author Report Share Posted August 30, 2010 Леший, mysql visi autoincrement primary_key, kas parasti ir id sākas no 1. Un principā, es arī visas sistēmas sāku identifikāciju no 1. Tāpēc 0 un 'abc' ir viens un tas pats - neeksistējoš ieraksts. Quote Link to comment Share on other sites More sharing options...
Леший Posted August 30, 2010 Report Share Posted August 30, 2010 kas parasti ir id sākas no 1 MySQLā auto_increment value var būt 0, tas pirmkārt, otrkārt, nav teikts, ka ID parametrs getā obligāti ir kāds primary key (tik pat droši tas varētu būt foreign key, vai vispār, ne-int lauks). Un treškārt, 0 ir pilnīgi valīds integer, prakse ar 0 apzīmēt neeksistējošus ierakstus nav laba. Quote Link to comment Share on other sites More sharing options...
codez Posted August 30, 2010 Author Report Share Posted August 30, 2010 Defaultā mysql autoincrement sāk ar 1. Un, ja eksistējošo ierakstu kopā ir no 1..N, tad ar 0 ir derīga prakse apzīmēt neeksistējošu ierakstu. Quote Link to comment Share on other sites More sharing options...
codez Posted August 30, 2010 Author Report Share Posted August 30, 2010 Piedāvāju diskusiju pārnest šeit: http://php.lv/f/topic/17140-ievaddatu-validacija/ 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.