Archive

Posts Tagged ‘php’

Symfony 1: Apache virtual host configuration

February 11th, 2010 54 comments

Ubuntu дээр Symfony framework-ийг эхлэн суралцагчдад зориулав.

Symfony 1.4 Jobeet(doctrine) жишээний эхний өдөр буюу суулгах, тохируулах хэсэгт ubuntu дээр хирхэн виртуаль хост үүсгэх талаар нэмэлт тайлбар хийе. Symfony -ийг өөрийн веб сервер дээр суулгахад 2 янзаар суулгаж болно. 1) Ugly way буюу бүх файлуудыг document root фолдер дотороо хуулаад явах. 2) Secure way буюу нууцлал хамгаалалт сайтайгаар хийх. Энэ вебийн бизнесс логик болон бүх тохируулгыг вебийн рүүтийн гадна байршлуулдаг продакшн орчин юм. Миний дор дурдах зүйл энэ хэлбэрээр хийгдэх болно. Read more…

PHP/MySQL 7: mysqli prepared statement бичих

August 3rd, 2009 22 comments

Өмнө нь mysqli болон prepared-statement -ийн талаар бичсэн одоо шуудхан жишээ бичээд түүн дээрээ тайлбар хийгдээд явъя. Хоёр янзаар бичиж болно. Жишээнүүдийг өмнөх бичлэгүүдэд ашиглаж байсан доорхи хүснэгт дээр хийе. Read more…

Categories: PHP/MySql Tags: , ,

PHP/MySQL 6: mysqli extension ашиглах 1

July 3rd, 2009 3 comments

PHP -ийн mysql-тэй ажиллах сангуудын талаар өмнөх бичлэгүүдэд дурдсан. Одоо mysqli санг хирхэн ашиглах талаар авч үзье. Энэ бичлэгт mysqli -аар бичих хэлбэрүүдээс процедур ба обьект хандалтат хэлбэрээр бичих талаар авч үзэх болно. Mysqli мэдээж боломж хурд нууцлал хамгаалалтаараа маш илүү гэж веб сайтууд дээр бичсэн байна.  Бичих хэлбэрийн хувьд процедур, обьект хандалтаар бичиж болохоос гадна Mysql 4.1 -ээс хойш бий болсон бинари протоколыг ашигладаг болсон энэ нь SSH шиг ажилладаг тул нууцлал хамгаалалтыг маш сайжруулсан гэж  үзэж байгаа. Мөн ажиллах хурд нь маш их нэмэгдсэн гэсэн байна. Зарим тохиолдолд 30, 40 дахин хурдан ажилладаг гэсэн байх юм. Ер нь prepared statment ашиглан шинээр нэмэх засах үйлдэл олныг гүйцэтгэхэд хурд нэмэгдэх боломжтой л доо. За ингээд хирхэн яаж ашиглах талаар авч үзье. Read more…

PHP/MySQL 4: Энэ сэдвээр цааш явахаас өмнө

June 13th, 2009 8 comments

PHP MySQL хоёр хамгийн нийцтэй ажилладаг, өргөн ашиглагддаг гэдгийг бүгд мэднэ. Харин аль аль нь хөгжиж хоорондоо холбогдон ажиллах нь улам бүр сайжирсаар байна. MySQL -ийн хамгийн өргөн дэлгэрсэн хувилбар бол 3.23 байсан бөгөөд үүний дараагийн маш том, том өөрчлөлтүүдийг агуулсан хувилбар бол 4.1 хувилбар нь байсан. Энэ үеэс PHP ч уг хувилбарын боломжийг бүрэн дүүрэн ашиглах боломжтой сануудыг гаргасан байх юм. Одоогийн байдлаар php mysql-тэй холбогдон ажиллах 3 сан (extension) ашиглагдаж байна. Эдгээр нь mysql, mysqli, PDO (PHP Database Objects). Хуучин бидний ашиглаж дадсан mysql сан маань хуучирсан сан болжээ.  Харин цаашид аль хэдийн бий болоод өргөн ашиглагддаг болсон бусад дэвшилтэд сангуудыг ашиглах талаар блогтоо бичихээр шийдлээ. Нэг бус хүмүүс ч энэ талаар санал сэтгэгдэлээ хэллээ. Тэд нарт баярлалаа. Read more…

PHP/MySQL 3: Хүснэгтийн мэдээлэл харуулах

March 28th, 2009 17 comments

PHP бараг бүх төрлийн өгөгдлийн сан удирдах системүүдтэй нийцтэй ажиллах чадвартай. Гэвч MySQL -тэй хамгийн нийцтэй хамгийн хурдан ажилладаг. PHP өгөгдлийн сан тус бүртэй ажиллах функцуудын сантай. MySQL -ийн mysql, mysqli гэсэн сангуудтай. PHP 5 -аас өмнөх хувилбаруудад mysql үндсэн санд ордог байсан бол php 5 -аас хойш mysql -ийн санг бусад сангуудын адил суулгадаг болсон. Иймд шаардлагатай сангуудыг анх инсталл хийхдээ эсвэл дараа нь нэмээд суулгачих хэрэгтэй. Read more…

PHP/MySQL 2: phpMyAdmin ашиглах

March 23rd, 2009 27 comments

MySQL-тэй холбогдон ажилладаг олон хэрэгсэл бий. Эдгээрээс вебэд суурилан ажилладаг phpmyadmin -ийг ашиглаж сурах хэрэгтэй. Ер нь веб сайт хийгээд түүнийгээ хост хийхэд mysql баазаа phpmyadmin-аар л ихэвчлэн серверт байрлуулах болон бусад үйлчилгээг хийдэг. Иймд энэ програмыг сайн ашиглаж сурах хэрэгтэй. phpmyadmin эндээс татаж аваад өөрийн локаль хост дээр http://localhost/phpmyadmin гэсэн хаягаар ажилладаг байхаар хуулна. Үүний дараа доорхи хэдэн алхамуудыг хийж гүйцэтгэнэ. Уг нь хуучин 1.х, 2.х хувилбарууд дээрээ ингээд хуулаад л root нь нууцгүй үггүй бол  шууд ажилладаг байсан бол одоо бид нарын ашиглах гэж байгаа 3.х дээр root буюу хамгийн гол хэрэглэгч нь нууц үггүй байвал ажиллахгүй энэ тэр гэсэн тохиргоотой болсон байна. Read more…

Categories: PHP/MySql Tags: , ,

PHP/MySQL 1: MySQL өгөгдлийн сан

March 16th, 2009 32 comments

180px-mysqlsvgМySQL бол хамгийн өргөн хэрэглээтэй нээлттэй эхийн өгөгдлийн сан удирдах програм юм. Өнөөдөр энэ програмыг 11 сая илүү инсталл хийж дэлхийн аварга том сайтууд болох flicker, facebook, wikipedia, google, nokia, youtube ашиглаж байна гэж энд бичсэн байна. Анх 1995 онд зах зээлд гарсан,  c/c++ хэл дээр бичигдсэн. Хамгийн өргөн ашиглагдаж байсан хувилбар нь 2000 онд гарсан 3.23 гэж хувилбар байдаг. Монголчууд бид нар энэ хувилбараас нь эхлэн мэддэг болсон. Үүний дараа 4.0, 4.1 гэсэн хувилбарууд гараад одоо ид хэрэгэгдэж байгаа нь 5.х . Эдгээр сүүлийн хувилбарууд дээр томоохон өгөгдлийн сангийн системүүдэд байдаг view, procedure, trigger гэх мэт зүйлүүд нэмэгдсэн. Бас дэд query бичих боломжтой болсон. Дэд query гэдэг нь select * from tablename1 where id in (select id from tablename2) гэх мэтээр бичих боломжтой болсон. Практикаас харахад олон бичлэгтэй болох тусам sub query энэ тэрийн ажиллага удааширдаг талтай. Хамгийн сүүлд 6.0 alpha  гарсан. Stable version нь 5.1 . Өнгөрсөн жилээс (2008 оноос ) sun microsystems хөгжүүлэлт хийж байгаа боловч ер нь бол шведийн mysql ab компанийх. Дашрамд дурдахад  sun microsystems олонд алдартай нээлттэй эхүүдийг сүүлийн үед их хөгжүүлж байна үүний тод жишээ нь опен оффис энэ 2 юм . Мөн скандиновчууд их айхтар хүмүүс юмаа финландууд нокиа, линиксийг бий болгосон шведүүд mysql-ийг. Товчхондоо нэг иймэрхүү өгөгдлийн сан удирдах систем байна.

Кросс платформ, веб сайтад зориулагдсан өгөгдлийн сан хийх, олон төрөлийн веб програмчлалын хэлүүдтэй найдвартай хурдтай ажилладаг зэрэг шалтгаануудын учир маш өргөн хэрэглээний хэрэгсэл болж чадсан.

Дараагийн бичлэгүүдээр  энэ өгөгдлийн сантай PHP хэл ашиглан холбогдох бааз доторхи хүснэгтийн бичлэгүүдийг гаргаж харуулах, шинэ бичлэг оруулах, байгаа бичлэг засах, устгах гэх мэт энгийн боловчзаавал мэдэж байх үйлдлүүдийн  талаар авч үзнэ.  Миний энэ бичлэг бол анхлан суралцагч нарт зориулсан бөгөөд бие даан сурч байгаа залуучууд, энэ төрлийн хичээл судлаж байгаа оютнуудад зориулсан зүйл юм. Харин хэдийн хөгжүүлэгч болсон хүмүүс  уншиж хайран цагаа бүү үрэгтүн. Энэ бичлэгийг уншиж байгаа залууст өгөгдлийн сан, түүнийг зохион байгуулах тухай мэдлэг чадвар зайлшгүй шаардлагaтай болно.

Categories: PHP/MySql Tags: ,

Form 2: PHP File upload

February 21st, 2009 23 comments

Хэрэглэгчийн комьютераас серверт  файл илгээх үйлдлийг  file upload гэдэг. Майлд файл хавсаргаж илгээх гэх мэт олон жишээ байна. Бид нарын одоо авч үзэх гэж байгаа жишээ бол Form -оор дамжуулан upload хийх арга юм. Үүнээс гадна FTP -ээр put хийж хуулах арга бас бий. Эдгээр нь веб програмчлал судлаж байгаа хүний заавал мэдэж байх зүйлүүд юм. Ингээд PHP -ээр файл upload хийх талаар жаахан тайлбартай жишээ хийе. Үүнийг myupload.php гэсэн нэг програмаар  хийе. Read more…

Categories: HTML, PHP/MySql Tags: , , ,

Form 1: PHP-ээр form боловсруулах нь

February 16th, 2009 5 comments

Энэ веб програмчлал эхлэн суралцагсдад нилээд чухал ойлголт гэж бодож байна. Их бага ямар ч веб ялангуяа веб application-ууд ядаж ганц формтой байдаг. Үүний тулд HTML form-оо сайн мэддэг байх хэрэгтэй. Иймд форм хүлээн авч боловсруулах тухай слайдуудыг эндээс татаж үзээд уг слайд дээр авсан жишээнүүдийг ажилуулж үзэн мөн татан авна уу. Слайдууд болон жишээг үзээд ойлгомжгүй зүйл байвал энд коммент бичиж үлдээнэ үү.

Жишээ 1 – Форм дээрх талбаруудын утгуудыг авах
Жишээ 2 – Олон checkbox -оос сонгогдсонг нь таних

дээрх 2 жишээний эх кодыг энд дарж татаж авна уу.

За тэгээд амжилт хүсье. Дараагийн цувралуудаар орж ирж байгаа мэдээллүүдээ байх ёстой мэдээлэл мөн эсэх (нууцлал хамгаалалтын хувьд), файл серверт илгээх (upload) за тэгээд regular expression энэ тэр гээд энэ жишээгээ баяжуулаад явах юм. Формны талбаруудаа гаргахдаа хүснэгт ашиглаагүй харин DIV тэгээд CSS ашигласан. Вебийн дизайнийг одоо иймэрхүү маягтай хийдэг болоод байгаа билээ. за за гол нь формоо сайн ойлгоод аваарай.

Categories: HTML, PHP/MySql Tags: , , ,

AJAX -ийг Prototype ашиглан хэрэгжүүлэх нь

February 11th, 2009 10 comments

Өмнө хэлж байсны дагуу энд бичсэн жишээг Prototype JavaScript Framework ашиглан хийж үзье. Өмнөх жишээнд хэрэглэгдсэн zurhai.html, ajax_zurhai.php файлууд бүгд хэрэглэгдсэн. Харин zurhai.html дотор prototype.js, pt_ajax.js гэсэн  JS файлуудыг дуудаж ашигласан. prototype.js нь Prototype JS Framework харин pt_ajax.js нь миний бичсэн prototype ашиглан  AJAX бий болгох JS код юм.  зүйлүүдийг тайлбарлая. Энэ нилээд ач холбогдолтой яг ажиллаж байгаа жишээ гэдгийг анхааран үзээрэй.

zurhai.html  доторхи өмнөх жишээнээс өөрчлөгдсөн зарим  чухал зүйлүүдийг тайлбарлая.

1. onchange=” var ord=’ord=’+this.value;  Ajax_Loader(‘ajax_zurhai.php’,’medeelel_haruulah_div’, ord)”  onchange дээр ord гэсэн хувьдагчид сонгофдсон ордны ID -ийг ord=arslan гэх мэтээр олгож байна.

2. <div id=”loading” style=”display:none”><img src=”images/indicator.gif” /> Loading …</div> энэ бол дуудах үед харагдах анимац гаргах DIV. Бусад үед харагдахгүй байна. Харагдуулахгүй байхыг нь style=”display:none”  CSS хийж байна.

3. <script type=”text/javascript” src=”js/prototype.js”></script>
<script type=”text/javascript” src=”js/pt_ajax.js”></script> энэ 2 мөр бол JS үүдээ дуудаж байгаа хэсэг. pt_ajax.js нь бидний сурч авах хамгийн гол зүйлийг агуулж байгаа JS юм. Ингээд уг JS -ийг тайлбартайгаар хүргэе.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// JavaScript Document
/*
AJAX duudagdah yed zurhai.html dotorhi
<div id="loading" style="display:none"><img src="images/indicator.gif" alt="" /> Loading ...</div>
-ийг харуулана. Харин AJAX дуудагдаад дууссны дараа харагдуулахгүй болгож байна.
*/
var myGlobalHandlers = {
	onCreate: function(){
		Element.show('loading');
	},
 
	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			Element.hide('loading');
		}
	}
};
 
Ajax.Responders.register(myGlobalHandlers); /* дээрхи handler-ийг protptypte -ийн AJAX -д холбож өгч байна. */
 
/*
Prototype ашигласан AJAX- дуудах универсал функц
ПАРАМЕТРУУД
url: Server дээр байгаа дуудагдах PHP (манай жишээний хувьд) файлын нэр
container: Үр дүнг харуулах DIV эсвэл ямар контайнерын ID. Манай жишээний хувьд medeelel_haruulah_div
param: url-ийн араас залгах url query. Манай жишээний хувьд ord=arslan гэх мэт.
*/
function Ajax_Loader(url,container, param) {
var params = param;
var myAjax = new Ajax.Updater(
					{success: container},
					url,
					{
						method: 'get',
						parameters: params,
						onFailure: reportError
					});
 
}
 
/*  Алдаа гарсан үед энэ функц дуудагдана. */
 
function reportError(request) {
	alert('Sorry. There was an error.');
}

Ажиллуулж үзэх | Энэ жишээг татаж авах

Цааашид веб програмчлал сонирхож байгаа залуус prototype-ийн талаар дэлгэрэнүүлэн сайтар судлах шаардлагатай. Ганц энэ ч биш jquery, dojo гэх мэт олон сайхан framework-үүд бий.