Checkbox va radio button tugmalar uchun value qiymati faqat tugma belgilangan holda, VALUE atributini aniqlaydi. Belgilanmagan tugmalar so‘roq satrning tashkillashtirilishida butunlay e’tibor berilmaydi. checkbox turdagi bir nechta tugmalar agar muhim bo‘lsa bitta NAME ( har xil VALUE) atributiga ega bo‘lishi mumkin. Radio button tugmalari kabi berilgan barcha variantlar bittasi uchun atalgan va shuning uchun ular bir xil NAME atributini va VALUE turli xil atributlarga ega bo‘lishi kerak.
GET usuli bilan ma’lumotlarni uzatish uchun HTML-shaklini yaratish muhin emas. URL satrga kerakli o‘zgaruvchilarni, ma’nolarni qo‘shish mumkin.
Misol uchun:
http://www.ru/test.php?id=10&user=pit
Shu munosabat bilan GET usuli bilan ma’lumotlarni uzatishda bitta kamchilik mavjud – parametrlar ma’nosini xohlagancha qalbakilashtirish mumkin. Shuning uchun parol bilan himoyalangan sahifalarga kirish uchun, dastur yoki server ishining xavfsizligiga ta’sir qiluvchi axborotlarni uzatish uchun bu usul iloji boricha ishlatilmasligi kerak. Bundan tashqari, foydalanuvchiga o‘zgartirish taqiqlangan axborotlarni uzatish uchun GET usulini qo‘llashning xo‘jati yo‘q.
GET usulining barcha kamchiliklariga qaramasdan Skript sozlash mobaynida GET usulidan foydalanish qulay (u holda uzatilayotgan o‘zgaruvchilarning nom va ma’nolarini ko‘rish mumkin) va xavfsizlikka ta’sir qilmaydigan parametrlarni uzatish uchun ham ishlatilishi mumkin.
POST usuli uchun Shakl tarkibi GET usuli singari kodlanadi, ammo URLga satrning qo‘shilishi o‘rniga so‘roq tarkibi POST operatsiyasi qismiga o‘hshab ma’lumotlar bloki uzatiladi. ACTION atributi mavjud bo‘lsa, u holda u yerda joylashgan URL ma’nosi ma’lumotlar blokini qayerga uzatishni aniqlaydi. Bu usul katta ma’lumot bloklarining xajmi bo‘yicha uzatish uchun qo‘llaniladi.
POST usuli yordamida serverga jo‘natilgan va foydalanuvchi bilan kiritilgan ma’lumot action atributida ko‘rsatilgan dasturning standart kiritilishiga yoki bu atribut tushirilgan bo‘lsa joriy skriptga uzatiladi. Jo‘natiladigan fayl uzunligi CONTENT_LENGTH o‘zgaruvchiga uzatiladi, ma’lumotlar turi esa – CONTENT_TYPE o‘zgaruvchisiga uzatiladi.
POST usuli yordamida ma’lumotlarni uzatish faqat HTML-shakllar yordamida mumkin, chunki ma’lumotlar so‘roq tarkibida uzatilati, GETdagi kabi sarlavhada emas. Parametrlar ma’nosini o‘zgartirish faqat shaklga kiritilgan ma’noni o‘zgartirganda mumkin. “POST”dan foydalanganda foydalanuvchi serverga uzatiladigan ma’lumotlarni ko‘rmaydi.
POST so‘rovlarining asosiy afzalligi – bu GET so‘rovlarga nisbatan ko’p funksiyaliligi va ma’lumotlarni xavfsiz uzatishidir. Shuning uchun POST usuli muhim va hajmi katta axborotlarni uzatish uchun ishlatiladi. Bu mexanizmning xavfsizligiga butunlay ishonmaslik kerak, chunki POST so‘roq ma’lumotlarini xuddi shunday qalbakilashtirishi mumkin, masalan, o‘z mashinasida html-fayl yaratib va uni kerakli ma’lumotlari bilan to‘ldirib jo‘natadi. Bundan tashqari ba’zi mijozlar POST usulining barcha imkoniyatlarini qo‘llamasligi mumkin.
Serverga har xil usullar bilan ma’lumotlarni yuborish mobaynida, nafaqat foydalanuvchi tomonidan kiritilgan ma’lumotlar balki muhit o‘zgaruvchilari, mijozni ta’riflovchi, uning ish tarixi, fayllarga yo‘llari va hokazo nomlangan qator o‘zgaruvchilar yordamida uzatiladi. Muhit o‘zgaruvchilarining ba’zi turlari:
• REMOTE_ADDR– so‘roqni jonatayotgan xostning IP-adresi (kompyuterning);
• REMOTE_HOST – so‘roq jo‘natadigan xostning nomi;
• HTTP_REFERER –joriy skriptga yo‘naltirilgan sahifa manzili;
• REQUEST_METHOD – so‘roq yuborish mobaynida foydalangan usul;
• QUERY_STRING – URLda so‘roq belgisidan so‘ng joylashgan ma’lumot;
• SCRIPT_NAME – bajariladigan dasturga virtual yo‘li;
• HTTP_USER_AGENT – mijoz foydalanayotgan brauzer haqida ma’lumot.