Yangi formatda davom etish uchun: https://uzfor.net/view.php?act=post&id=20102
Postga havola
MrAnonim [143] [off]
Hammaga salom, esingizda bo'lsa HarryAli JohnCMS borasida darslik olib borayotgan edi, lekin oxirigacha bitmadi, nasib qilsa buyog'iga birgalikda olib boramiz, avvalo shu darsliklarni sizlarga taqdim etaman:
#1darslik
Barchangizga salomlar ko'pchilikni taklifiga binoan JohnCMS haqida (ha faqat JohnCMS haqida! Php yoki va hokazo haqida emas!!!) qo'llanma yozishga kirishdim)) Qo'limdan kelganicha bilganimni sizlar bilan o'rtoqlashishga harakat qilaman.
Demak, sizdan talab etiladigan narsalar bu: php va html bo'yicha ko'nikmaga ega bo'lishingiz zarur. Chunki bularni noldan boshlab tushuntirish qo'limdan kelmaydi)) Ingliz tili bo'yicha bilimingiz esa tezroq o'rganishingizga qo'l keladi. Demak, boshladik.
JohnCMS (CMS => Content Managing System) wap-dvijoklar ichida ko'pchilik uchun eng qulayi va eng soddalaridan biri hisoblanadi. Bunga o'zingiz ham amin bo'lasiz.
JohnCMSda ishlashda siz uning bazasidagi jadval (tablitsa) nomlari va undagi ustunlar nomlarini bilishingiz kerak, bilmasangiz, endi bilvolasiz))
Kelinglar, `users` jadvalidan boshlaymiz. MySQL (Structured Query Language) so'rovlarida jadval va undagi ustun nomlarini ikkala tomoniga ham ` belgisi qo'yiladi. `users` jadvalida quyidagi ustunlar mavjud (asosiylarini yozaman): `id` => Bunda foydalanuvchining ID raqamlari yozilib boriladi. `name` => foydalanuvchining "nikneym"i yoziladi. `name_lat` => foydalanuvchining logini. `password` => foydalanuvchu paroli. `rights` => foydalanuvchi mansabi. Oddiy userlarda `rights` 0 (nol)ga teng bo'ladi. O'sib borish tartibi esa quyidagicha:
0 => '',
1 => '(GMod)',
2 => '(CMod)',
3 => '(FMod)',
4 => '(DMod)',
5 => '(LMod)',
6 => '(Smd)',
7 => '(Adm)',
9 => '(SV!)'
Huddi shu tartibda foydalanuvchi mansabi belgilanadi. Agar `rights` 9ga teng bo'lsa, u foydalanuvchi (SV!) (supervayzor) hisoblanadi. Keyingi ustunlar: `imname` => Anketaga kiritiladigan ism. `sex` => jins, bu m (erkak) yoki zh (ayol) ko'rinishida bo'ladi. `komm` => Kommentlari soni, `postforum` => Forumdagi postlari soni, `postguest` => mexmonxonadagi postlari soni. Menimcha hozirchalikka ustunlar yetarli))
Foydalanuvchining o'zini malumotlaridan yuqoridagi ustunlardan birortasini aniqlash uchun $datauser[] ishlatiladi. Masalan userning (biz anketasiga kirib turgan user emas, aynan o'zimizning profil, tushunarli bo'lishi uchun BIZ deb yoziladi endi)) kirish huquqlarini aniqlashtirish uchun $datauser['rights'] yoki kommentlari soni $datauser['komm'] menimcha qolgani shundoq ham tushunarli. Lekin kodlarni hadeb qayta yozavermaslik uchun ayrim malumotlar yadroning o'zidayoq qisqartirilgan, ma'salan $datauser['rights']ni o'rniga $rightsni ishlatish mumkin. Lekin bu jadvaldagi barcha ustunlarga ham tegishli emas, ya'ni $id $komm $postforum kabi kodlar yozib ovora bo'lmang))
Kelinglar, endi bitta php sahifa yaratamiz va kichik tajriba qilamiz. Demak, sayt/papka/ ichiga tajriba.php faylini yaratdik:
<?php
1- qatorni albatta shunaqa boshlashni unutmang, aks holda server buni php sahifa emas deb hisoblab, sahifadagi buyruqlarni bajarmaydi!
define('_IN_JOHNCMS', 1);
Bu narsa konstant deyiladi, biz JohnCMSda ishlayotganimiz uchun ham buni yozib qo'yish kerak, aks holda yadro sizga ma'lumotlarni taqdim etmaydi.
require('../incfiles/core.php');
bu kod orqali sahifamizda yadroni talab (require) qilyapmiz.
require('../incfiles/head.php');
bu kod orqali esa, saytning "shapka"sini talab qilamiz. Shapkasiz sahifada ishlab bo'lmaydi, unutmang))
endi yangi bir kodni o'rganamiz: shart qo'yish. Ya'ni if (agar).
if ($rights == 9)
bu "agar BIZning kirish huquqlari 9 bo'lsa (yani SV bo'lsa) degan shartni qo'yadi.
if ($rights != 9)
Bunisi esa, agar 9 bo'lmasa degan shartni qo'yadi. Bunda 9dan tashqari 0-8 sonlarga amal qilinadi.
if ($rights > 0)
Agar kirish huquqlari noldan baland bo'lsa
if ($rights < 9)
Agar kirish huquqlari 9dan kichik bo'lsa. Hozircha shu oddiy shartlarni o'rganish ham yetadi.
Demak, tepadagi birorta o'zizga maqul shartdan foydalaning, yoki men tanlaganni tanlang))
if ($rights < 9) {
echo functions::display_error('Bu sahifa faqat supervayzorlar uchun!');
require('../incfiles/end.php);
exit;
}
endi taxlil qilamiz: Agar kirish huquqlari 9dan past bo'lsa, "Bu sahifa faqat supervayzorlar uchun!" degan xatolik ekranga kelib chiqadi (functions haqida keyinroq batafsil) va sahifaga saytning pastki qismi (end.php) chaqirilib, sahifa tugallanadi (exit). Shartdagi amal { va } belgilari orasida amal qiladi. Bu belgilar qo'yilmagan taqdirda esa, shartdan keyingi faqat bitta buyruq shartga tegishli deb hisoblanadi.
Yana davom etamiz: endi aks holda (else) buyrug'ini ishlatamiz. Bu buyruq qo'yilgan shartga teskari shartni yuklaydi. Agar kirish huquqlari 9 bo'lmasa xatolik kelib chiqsin, aks holsa, "hush kelibsiz!" degan yozuv chiqsin. Endi shuni sinab ko'ramiz. Oxirgi } belgisi yoniga qo'shimcha qilamiz:
} else {
echo '<div class="gmenu">Hush kelibsiz adminboy!</div>';
}
Ko'rib turganizdek, else ham { } belgilari orasiga buyruq kiritadi.
Endi sahifani tugallab qo'yamiz:
require('../incfiles/end.php');
?>
end.php faylida saytning eng pastki qismidagi onlayn userlar, banner, top-reyting hisoblagichlar, kopiraytlar mavjud bo'ladi. ?> buyrug'i esa php sahifaning yakunlanganini bildiradi. Shunday qilib, hozir tajriba.php faylimiz quyidagicha:
Ushbu faylni saqlab, uni brauzerda ochib ko'ramiz va natijadan zavq olamiz 1-dars tamom.
Sekin asta davomini qo'shib boraman. Hammaga omad.
#1darslik
JohnCMS #1 darslik (+/-)
Barchangizga salomlar ko'pchilikni taklifiga binoan JohnCMS haqida (ha faqat JohnCMS haqida! Php yoki va hokazo haqida emas!!!) qo'llanma yozishga kirishdim)) Qo'limdan kelganicha bilganimni sizlar bilan o'rtoqlashishga harakat qilaman.
Demak, sizdan talab etiladigan narsalar bu: php va html bo'yicha ko'nikmaga ega bo'lishingiz zarur. Chunki bularni noldan boshlab tushuntirish qo'limdan kelmaydi)) Ingliz tili bo'yicha bilimingiz esa tezroq o'rganishingizga qo'l keladi. Demak, boshladik.
JohnCMS (CMS => Content Managing System) wap-dvijoklar ichida ko'pchilik uchun eng qulayi va eng soddalaridan biri hisoblanadi. Bunga o'zingiz ham amin bo'lasiz.
JohnCMSda ishlashda siz uning bazasidagi jadval (tablitsa) nomlari va undagi ustunlar nomlarini bilishingiz kerak, bilmasangiz, endi bilvolasiz))
Kelinglar, `users` jadvalidan boshlaymiz. MySQL (Structured Query Language) so'rovlarida jadval va undagi ustun nomlarini ikkala tomoniga ham ` belgisi qo'yiladi. `users` jadvalida quyidagi ustunlar mavjud (asosiylarini yozaman): `id` => Bunda foydalanuvchining ID raqamlari yozilib boriladi. `name` => foydalanuvchining "nikneym"i yoziladi. `name_lat` => foydalanuvchining logini. `password` => foydalanuvchu paroli. `rights` => foydalanuvchi mansabi. Oddiy userlarda `rights` 0 (nol)ga teng bo'ladi. O'sib borish tartibi esa quyidagicha:
0 => '',
1 => '(GMod)',
2 => '(CMod)',
3 => '(FMod)',
4 => '(DMod)',
5 => '(LMod)',
6 => '(Smd)',
7 => '(Adm)',
9 => '(SV!)'
Huddi shu tartibda foydalanuvchi mansabi belgilanadi. Agar `rights` 9ga teng bo'lsa, u foydalanuvchi (SV!) (supervayzor) hisoblanadi. Keyingi ustunlar: `imname` => Anketaga kiritiladigan ism. `sex` => jins, bu m (erkak) yoki zh (ayol) ko'rinishida bo'ladi. `komm` => Kommentlari soni, `postforum` => Forumdagi postlari soni, `postguest` => mexmonxonadagi postlari soni. Menimcha hozirchalikka ustunlar yetarli))
Foydalanuvchining o'zini malumotlaridan yuqoridagi ustunlardan birortasini aniqlash uchun $datauser[] ishlatiladi. Masalan userning (biz anketasiga kirib turgan user emas, aynan o'zimizning profil, tushunarli bo'lishi uchun BIZ deb yoziladi endi)) kirish huquqlarini aniqlashtirish uchun $datauser['rights'] yoki kommentlari soni $datauser['komm'] menimcha qolgani shundoq ham tushunarli. Lekin kodlarni hadeb qayta yozavermaslik uchun ayrim malumotlar yadroning o'zidayoq qisqartirilgan, ma'salan $datauser['rights']ni o'rniga $rightsni ishlatish mumkin. Lekin bu jadvaldagi barcha ustunlarga ham tegishli emas, ya'ni $id $komm $postforum kabi kodlar yozib ovora bo'lmang))
Kelinglar, endi bitta php sahifa yaratamiz va kichik tajriba qilamiz. Demak, sayt/papka/ ichiga tajriba.php faylini yaratdik:
<?php
1- qatorni albatta shunaqa boshlashni unutmang, aks holda server buni php sahifa emas deb hisoblab, sahifadagi buyruqlarni bajarmaydi!
define('_IN_JOHNCMS', 1);
Bu narsa konstant deyiladi, biz JohnCMSda ishlayotganimiz uchun ham buni yozib qo'yish kerak, aks holda yadro sizga ma'lumotlarni taqdim etmaydi.
require('../incfiles/core.php');
bu kod orqali sahifamizda yadroni talab (require) qilyapmiz.
require('../incfiles/head.php');
bu kod orqali esa, saytning "shapka"sini talab qilamiz. Shapkasiz sahifada ishlab bo'lmaydi, unutmang))
endi yangi bir kodni o'rganamiz: shart qo'yish. Ya'ni if (agar).
if ($rights == 9)
bu "agar BIZning kirish huquqlari 9 bo'lsa (yani SV bo'lsa) degan shartni qo'yadi.
if ($rights != 9)
Bunisi esa, agar 9 bo'lmasa degan shartni qo'yadi. Bunda 9dan tashqari 0-8 sonlarga amal qilinadi.
if ($rights > 0)
Agar kirish huquqlari noldan baland bo'lsa
if ($rights < 9)
Agar kirish huquqlari 9dan kichik bo'lsa. Hozircha shu oddiy shartlarni o'rganish ham yetadi.
Demak, tepadagi birorta o'zizga maqul shartdan foydalaning, yoki men tanlaganni tanlang))
if ($rights < 9) {
echo functions::display_error('Bu sahifa faqat supervayzorlar uchun!');
require('../incfiles/end.php);
exit;
}
endi taxlil qilamiz: Agar kirish huquqlari 9dan past bo'lsa, "Bu sahifa faqat supervayzorlar uchun!" degan xatolik ekranga kelib chiqadi (functions haqida keyinroq batafsil) va sahifaga saytning pastki qismi (end.php) chaqirilib, sahifa tugallanadi (exit). Shartdagi amal { va } belgilari orasida amal qiladi. Bu belgilar qo'yilmagan taqdirda esa, shartdan keyingi faqat bitta buyruq shartga tegishli deb hisoblanadi.
Yana davom etamiz: endi aks holda (else) buyrug'ini ishlatamiz. Bu buyruq qo'yilgan shartga teskari shartni yuklaydi. Agar kirish huquqlari 9 bo'lmasa xatolik kelib chiqsin, aks holsa, "hush kelibsiz!" degan yozuv chiqsin. Endi shuni sinab ko'ramiz. Oxirgi } belgisi yoniga qo'shimcha qilamiz:
} else {
echo '<div class="gmenu">Hush kelibsiz adminboy!</div>';
}
Ko'rib turganizdek, else ham { } belgilari orasiga buyruq kiritadi.
Endi sahifani tugallab qo'yamiz:
require('../incfiles/end.php');
?>
end.php faylida saytning eng pastki qismidagi onlayn userlar, banner, top-reyting hisoblagichlar, kopiraytlar mavjud bo'ladi. ?> buyrug'i esa php sahifaning yakunlanganini bildiradi. Shunday qilib, hozir tajriba.php faylimiz quyidagicha:
<?php require('../incfiles/core.php'); require('../incfiles/head.php'); if ($rights < 9) { echo functions::display_error('Bu sahifa faqat supervayzorlar uchun!'); require('../incfiles/end.php); exit; } else { echo '<div class="gmenu">Hush kelibsiz adminboy!</div>'; } ?>
Ushbu faylni saqlab, uni brauzerda ochib ko'ramiz va natijadan zavq olamiz 1-dars tamom.
Sekin asta davomini qo'shib boraman. Hammaga omad.