如何使用json验证用户名和密码?

时间:2013-10-28 04:00:49

标签: iphone json ios6

我是ios的新手。我正在创建登录页面。在登录页面中有两个字段usernameTxtpasswordTxt。当我点击logonBtn按钮时,我们必须检查用户名和密码。我们必须检查Web服务。我正在使用JSon解析器。

请帮我解释如何编码此页面。

我正在使用以下代码

    - (void) alertStatus:(NSString *)msg :(NSString *)title
    {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title
                                                            message:msg
                                                           delegate:self
                                                  cancelButtonTitle:@"Ok"
                                                  otherButtonTitles:nil, nil];

        [alertView show];

    }

-(IBAction)LoginBtnClick:(id)sender
{     

        greeting.text= @"";
        NSString* username = usernameTxt.text;
        NSString* pass = passwordTxt.text;
        greeting.hidden = NO;
        if([usernameTxt.text isEqualToString:@"" ] && [passwordTxt.text isEqualToString:@""])
        {
            [self alertStatus:@"Please enter both Username and Password" :@"Login Failed!"];


            greeting.text = @"Please enter username and password.";
            [usernameTxt resignFirstResponder];
            [passwordTxt resignFirstResponder];
            return;
        }

        if([usernameTxt.text isEqualToString:@"" ])
        {
            [self alertStatus:@"Please enter Username" :@"Login Failed!"];           
            greeting.text = @"Please enter username.";
            [usernameTxt resignFirstResponder];
            [passwordTxt resignFirstResponder];
            return;
        }

        if([passwordTxt.text isEqualToString:@""])
        {
            [self alertStatus:@"Please enter Password" :@"Login Failed!"];
            greeting.text = @"Please enter password.";
            [usernameTxt resignFirstResponder];
            [passwordTxt resignFirstResponder];
            return;
        }
       // NSDictionary* params = @{@"username": @"mahedra.z@homework.do", @"password": @"admin123$"};


        NSString *post = [[NSString alloc] initWithFormat:@"uname=%@&pwd=%@",username,pass];

        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

        NSURL *url = [NSURL URLWithString:@"http://192.168.10.28:5000/wsserver.php"];
        NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
        [theRequest setHTTPMethod:@"POST"];
        [theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [theRequest setHTTPBody:postData];


        NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

        if( theConnection )
        {
           // indicator.hidden = NO;
            webData = [[NSMutableData alloc]init];
        }
        else
        {

        }

        [usernameTxt resignFirstResponder];
        [passwordTxt resignFirstResponder];

    }
    -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
    {
        [webData setLength: 0];
    }
    -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
    {
        [webData appendData:data];
    }
    -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
    {
        [self alertStatus:@"Connection Error" :@"Login Failed!"];

    }
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSDictionary* params = @{@"username": @"mahedra.z@homework.do", @"password": @"admin123$"};


    NSString *respstring = [[NSString alloc]initWithData:webData encoding:NSUTF8StringEncoding];

    SBJsonParser *objSBJsonParser = [[SBJsonParser alloc]init];

    NSDictionary *respDict = [[NSDictionary alloc]initWithDictionary:[objSBJsonParser objectWithString:respstring]];
     NSLog(@"respDict: %@",respDict);

  //  NSDictionary *params = [[NSDictionary alloc]initWithDictionary:[respDict valueForKey:@"userDetails"]];

     NSLog(@"user details: %@",params);

        NSString *loginStatus = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
        greeting.text = loginStatus;
        [[self navigationController]pushViewController:snsViewController animated:YES];
        //        indicator.hidden = YES;
}

0 个答案:

没有答案