FLEX ile LOGIN
4 Ekim 2008
FLEX ile LOGIN 3Buradaki açıklamalar http://www.tutorialized.com/tutorials/Adobe-Flex/1 adresindedirBölüm 2 - Grafik arayüzünü programlama Kolay kısmı bitti. Şimdi işin hileli kısmına geldik. Eğer flex ile programlamaya alışkın değilseniz biraz daha okumanız gerekebilir. Ama deneyiminiz varsa işleminiz kolay olacaktır. Burada açıklamalara yeterince yer verilmeye çalışılmıştır. Şimdi yeni web istemi yaratan işleme bakalım. Burada PHP dosyasına giriş bilgisi gönderilir. Kodlama:
<mx:HTTPService
id="login_user"
result="checkLogin(event)" //This is the function that will be called after a result comes
method="POST"
url="http://www.vipercreations.com/flex/login.php"
useProxy="false">
<mx:request xmlns="">
<username>{username.text}</username>
<password>{password.text}</password>
</mx:request>
</mx:HTTPService>
Açıklama:
Flex içinde web isteminde bulunmak kolaydır. Tüm yapacağınız <mx:HTTPService> komutunu kullanmaktır. Önemli parametrelerden bazıları "ID", yöntem (method), ve url adresidir. "Id" tekildir ve sunulan servis atanır. Daha sonra script içinde kullanılır. "Method" kodlamanın PHP ile kurduğu iletişimin yolunu anlatır. Ya "GET" ya da "POST" yöntemini kullanırsınız. "useProxy" değerini "true" ya da "false" yapmak Flex proxy servisini kullanıp kullanmadığınızı belirtir. Servis tanımlandıktan sonra istemin ayarları yapılır. Burada kodlamaya neyi gödereceğimiz tanımlanır. <username> to <user_name> değiştirmek için PHP kodlamasında da değişiklik yapmalısınız (username.text) $_POST['username'] yerine geçer. Aynı şey "password" için de geçerlidir. Bundan sonra yapılacak olan "Gönder" tuşuna basıldığında ne yapılacağıdır. Gönderme tuşu seçeneklerinde "login_user.send()" yazın. Bu http istemini login kodlamasına gönderileceğini belirtir. Servis çalışmasını bitirince "checkLogin" çağrılır. Kodlama:
<mx:Script>
<![CDATA[
private function checkLogin(evt:ResultEvent):void
{
if(evt.result.loginsuccess == "yes")
{
currentState = "Logged In";
}
if(evt.result.loginsuccess == "no")
{
mx.controls.Alert.show("Invalid username/password");
}
}
]]>
</mx:Script>
Açıklama:<mx:Script> yazarak checkLogin() işlevini yazarız. Bu işlevin yapacağı kullanıcı girişinin başarılı olup olmadığını bilmektir. Sonucu görmek için "login_user.lastRequest" yazılır. PHP'den Flex ortamına doğrudan sonuç geçirilemez. PHP çıktısının xml biçiminde olması gerekir. PHP kodlamasına gelince işler daha kolaydır. Eğer sonuç geçerliyse, kodlama "yes" döndürür. Böylece o anki durum "Logged In" olur. Flex için iyi bir özelliktir. Eğer sonuç "no" ise, Flex bir hata penceresi açar (Javascript hata pencereleri gibi) ve kullanıcı kodu ya da şifresi hatalı mesajı verilir. Bu da ikinci bölümün sonunu oluşturur. ![]() |
|