5/16/2010

Create a login system with Flex and PHP-тайлбар


Блогын зочин маань тайлбар хүссэн тул тайлбар нэмж байна. Завгүй байж байгаад хэлсэн хугацаандаа тайлбар оруулж чадсангүй уучлаарай.

Сэтгэгдэлээр үлдээсэн линкрүү хандаж үзлээ. Жаахан ойлгомжгүй жишээ байна. Бэлэн компонент ашигласан.
Энд дараад нэг прожект татаад ав урьдны бичлгэт оруулж байсан линкний жишээ прожект юм. Энэ прожект их энгийн бас үндсэн зүйлүүдийг нь агуулсан байгаа. Би доор кодын тайлбарыг гальт бичээд өгье.
Юуны өмнө яг юу татаад авсанаа мэдэхийн тулд үр дүнг нь үзье.
Үзэхийн тулд уг прожектыг татаж аваад нээгээд. Доорх мөр кодын url-г өөрчлөх



↓↓↓↓↓↓↓↓↓↓↓
http://www.vipercreations.com/site_admin/login.php = login.php гэж өөрчлөөд

прожект фолдер дотроо login.php файлыг үүсгэнэ. Дараах кодыг хуулна.
Анхаарах зүйл нь өөрийн DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME-г зөв тодорхойлж өгөх шаардлагатай.

define( "DATABASE_SERVER", "localhost" );
define( "DATABASE_USERNAME", "user" );
define( "DATABASE_PASSWORD", "pass" );
define( "DATABASE_NAME", "flex" );
//connect to the database
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD) or die(mysql_error());
//select the database
mysql_select_db( DATABASE_NAME );
//asign the data passed from Flex to variables
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
//Query the database to see if the given username/password combination is valid.
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysql_fetch_array(mysql_query($query));
//start outputting the XML
$output = "";
//if the query returned true, the output yes else output no
if(!$result)
{
$output .= "no";
}else{
$output .= "yes";
}
$output .= "
";
//output all the XML
print ($output);

Дээрх үйлдлүүдийг гүйцэтгэж дууссан бол DB дортроо дараах QUERY-г ашиглан TABLE үүсгэнэ. TABLE үүсгэхдээ DB ээ өөрийн DB-ийн нэрийг оруулж үүсгээрэй.

CREATE TABLE `flex`.`users` (
`username` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`password` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
PRIMARY KEY ( `username` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci

TABLE үүсгэж дууссан бол нэг бичлэг нэмээд дээрх кодын дахин компайл хийгээд үүссэн кодыг буюу bin фолдерыг өөрийн сервер лүү хуулаад ажиллуулж үзээрэй. Асуудалгүй ажиллана гэж бодож байна. Тайлбарыг дэлгэрэнгүй гэж ороод үзээрэй. Бараг л тайлбар хэрэггүй ойлгох байх гэхдээ жаахан тайлбар оруулчихъя.



##################Тайлбар №1#########################




{username.text}


{password.text}




Дээрх хэсэг код нь




Гэсэн html кодтой хийгдэх үйлдэл нь ижилхэн гэж ойлгож болно. Анхаарах зүйл нь



таг хооронд дамжуулах утгуудаа ,таг хэлбэрээр дамжуулдаг. Flex дээр өгөгдлөө XML файлтай ижил таг хэлбэрээр өгөгдлөө илгээж мөн хүлээж авдаг. Гол нь харгалзах таагуудын утга уг эх кодод байх ёстой. Жишээ нь дээрх username гэсэн таг нь хэрэглэгчийн нэр оруулж байгаа TextInput-н ID байх жишээтэй.
Php файл дотроо дамжууласан утгуудыг хүлээж авахдаа html, php Файл хооронд утга дамжуулж байгаатай ижилхэн POST функцыг ашиглаад авч болно. POST функын атербутад харгалзах тагын нэрээр дамжуулсан утгыг авч болно.

Мөн HTTPService тагын result хэсэгт тодорхойлогдсон checkLogin(event) функц нь тухайн тагын үр дүн хүлээж авдаг. Event атербут нь ResultEvent гэсэн төрөлтэй байгаа эх функцээс харж болно.

HTTPService тагын send нэрээр тодорхойлогдсон гишүүн функцыг ашиглан url хэсэгт заагдсан кодыг ажилуулдаг
##################Тайлбар №2#########################
PHP файлд доорх мөр код байгаа

//Энэ код нь дээр дурьдсанчлан үр дүнг таг хэлбэрээр буцааж байна
$output = "";
//Sql амжилттай биелэвэл yes бусад үед нь no.
if(!$result){$output .= "no";}
else{$output .= "yes";}
$output .= "
";

Php файлаас дамжуулсан утгыг хүлээн авахдаа HTTPService тагын result хэсэгт тодорхойлогдсон checkLogin(event)-г ашиглана.

private function checkLogin(evt:ResultEvent):void
{
// loginsuccess тагын утгыг шалгаж байна
if(evt.result.loginsuccess == "yes")
{
// Logged In State рүү шилжиж байна.
currentState = "Logged In";
}
if(evt.result.loginsuccess == "no")
{
// Тохирох бичлэг олдоогүй бол хэрэглэгчид мэдээлж байна
mx.controls.Alert.show('Invalid username/password');
}
}

Дээрх бичсэн зүйл энгийн ойлгомжтой байхаар жишээ шүү. Хэн нэг нь энэ үед ч логин чинь ******** гэсэн юм ярихгүй байх гэж найдаж байна. Энгийн ойлгомжтой байхаар нь сонгосон жишээ болно

Дээрх прожектыг доорх линкнээс авсан болно.
http://cookbooks.adobe.com/post_Create_a_login_system_with_Flex_and_PHP-7243.html

Андуу ташаа зүйл бичсэн бол сэтгэгдэл үлдээн засруулж өгөхийг хүсье.

10 санал,шүүмж:

Anonymous said...

hehe za bayarllaa mongoloor tailbar hiitsen chin aygui oilogdog gejiishdee mash ih bayarllaa

tanid flex tuhai hicheeluudiig olj ogood tegeed mongoloor tailbar hiilgej boloh bolvuu?

bi say ene hicheeliig olsiin gehdee mash chuhal gantshan nadad bish flex deer yum hiihgj bgaa humuust hergtei yum Flex deer uPload hiih jishee bgan neleen chanart hicheel bn ta eniig mongoloor tailbar hiiged blogt niitleed ogooch plss ene bn URL ni

http://www.flexer.info/2009/09/02/multiple-file-upload-using-amfphp/

... on May 17, 2010 at 5:47 AM said...

Завтай үед бол бололгүй яахав ээ. Би доорх линк рүү хандаж үзнэ ээ. Файл upload хйихэд FLEX дээр FileReference класс ашиглаад л upload хийчихдэг юм. Би завтай үедээ үзээд тайлбар оруулаад өгье

Anonymous said...

sain uu baji ah aan ene upload hiideg jisheeg chin huleej bgaa shuu

... on May 23, 2010 at 11:55 PM said...

хэхэ заза. Чадуул өнөөдөр оруулчихъя. Оройхон

... on May 24, 2010 at 5:10 PM said...

http://hybridhacking.com/tutorials/uploading-files-with-flex-using-php

Дээрх жишээг үз алхам алхамаар энгийнээс нь эхлэвэл амар шд үзээд ойлгохгүй юм байвал асуугаарай

Anonymous said...

baji ah aan ahiad yum asuuchii

Flex deer tailan gargah bol yahuu ??
print uildel yaj ashiglah ve?

husnegtee yaaj hevleh ve?????
ene talaar medee mash yaralt hergtei bn

... on May 26, 2010 at 5:28 PM said...

Adobe AIR дээр арр хийгээд байна уу
Adobe FLEX дээр вэб арр хийгээд байна уу би урд нь FLEX дээр тайлан гаргаж байгаагүй сайн мэдэхгүй юм доорх жишээг хараарай ойлгохгү юм гарвал яг энэ хэсэг гээд асуугаарай

http://www.kemelyon.com/flexreport/

наанаасаа кодыг нь хараарай. Баруун клик хийгээд.....

Anonymous said...

aan bi FLEX 4 deer bichij bgan FLEX web app hiij bgan margaash diplomiin hamgaaltandaa oroh geed

shine yumaar hiih gesen bish oortoo mair tom hana bosogchihlloo gehdee tanid mair thanks shuu

flex3 deer bichsen bol hehe tanii ene heden jisheeg evluuled goe yum boloh bjee bi flash catalyst + flash builder 4 PHP server ene 3riig ashiglaad yum hiij bgan

Anonymous said...

sain baitsgaanuu ta 2 l sain bichih yumaa uur ochid bagatai yum shig bn.bi flex todorhoi hemjeend hiij bsan shine flash builder 4.5 catalyst photoshop ntr ih goyo horshij bna.nadad ta 2 heregtei shishee boloh zuil nileen bh shig l bna/uuruu hiisen/ harin ta 2 toi yaaj bolboo barij uguh uu?

niimka said...

Flex 3 deer web site hiij bgaa yuma...Tegsen chin SQL database-s ogogdol duudaj haruulj jadadgui ee ...Tuslaach

 

Надад итгэл бий Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template