2012-11-10 75 views
0

我目前使用SharedObjects将用户名和密码保存在Flash cookie中。 我的问题是我如何使passwordField和usernameField2与passwordField2匹配的usernameField匹配。基本上我想区分一个登录集和另一个登录集。如何匹配用户名和密码设置(AS3中的SharedObject)

package 
{ 

    import flash.display.*; 
    import flash.events.*; 
    import flash.net.*; 
    import flash.text.*; 

    public class foo extends Sprite 
    { 

     public var usernameField:TextField = new TextField(); 
     public var passwordField:TextField = new TextField(); 
     public var conPasswordField:TextField = new TextField(); 
     public var traceOutputField:TextField = new TextField(); 

     public var saveDataObject:SharedObject = SharedObject.getLocal("test"); 

     public function foo() 
     { 
      traceOutputField.width = 500; 
      addChild(traceOutputField); 

      usernameField.text = "username"; 
      passwordField.text = "password"; 
      conPasswordField.text = "password"; 

      usernameField.y = 50; addChild(usernameField); 
      passwordField.y = 100; addChild(passwordField); 
      conPasswordField.y = 150; addChild(conPasswordField); 

      registerUserInfo(null); 
     } 

     public function registerUserInfo(evt:MouseEvent):void 
     { 
      if(passwordField.text == conPasswordField.text) 
      {      
        saveDataObject.data.savedUsername = ""+usernameField.text; 
        saveDataObject.flush(); 
        traceOutputField.text = "DEBUG " + saveDataObject.size + "/" + saveDataObject.data.savedUsername; 

        saveDataObject.data.savedPassword = ""+passwordField.text; 
        saveDataObject.flush(); 
        trace(saveDataObject.size); 
      } 
      else if(passwordField.text != conPasswordField.text) 
      { 
        trace("Passwords do not match"); 
      } 
     } 

    } 
} 
+0

没有我的回答工作回答你的问题很多其他的事情?检查并检查答案,看看你是怎么样的? –

回答

0

试试这个:

public var saveDataObject:SharedObject = SharedObject.getLocal("test"); 

public function getUsers():Array{ 
    var users:Array = saveDataObject.data.users as Array; 
    return users; 
} 

public function saveUserInfo(name:String, pass:String):void{ 
    var users:Array = getUsers(); 
    if(!users){ 
     users = []; 
    } 
    users.push({username:name, password:pass}); 
    saveDataObject.data.users = users; 
    saveDataObject.flush(); 
} 

现在你可以写其他各种功能,解决这个问题。例如:

public function getPasswordForUser(username:String):String{ 
    var users:Array = getUsers(); 
    if(users){ 
     for (var i:int=0; i<users.length; i++){ 
      if(users[i].username == username){ 
       return users[i].password; 
      } 
     } 
    } 
    return null; 
} 

有可以在这里完成,但是这将让你去

相关问题