1. MasterLeo (M) (527) [off]
|
TXT |
28| 9 Sep 2017, 23:32
Salom do‘stlar. Mana bugun xamma o‘rganaman deb ammo o‘rganaolmayapkan mukammal sodda cms "Johncms" ni o‘rganamiz.
P-S: Bu matnni men yozmaganman. Ammo juda foydali narsalar yozilgan. Men xam asosiy bilimlarni shundan olganman.
Mualliflik xuquqi buzulmagan!
Harry Ali ga rahmat.
[Arxivdan]
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;
}