Как проверить имя пользователя и пароль с помощью значений веб-сервера в приложении I phone - PullRequest
0 голосов
/ 15 ноября 2011

Я занимаюсь разработкой приложения, основанного на представлении. У меня есть страница входа, когда мы нажимаем кнопку «Вход», она должна проверять введенные значения со значениями веб-сервера и отображать вали или недействительные данные. Я написал код таким образом, что он выполняется успешно результат таким образом

  <!DOCTYPE html PUbLIC" -//W3C//DTD XHTML 1.0 Strict....

Что мне нужно изменить в приведенном ниже коде, чтобы сопоставить со значениями сервера ... Может ли кто-нибудь помочь мне в этом, пожалуйста ...

-(IBAction)buttonClick:(id)sender
{

    NSString* username = nameInput.text;
    NSString* pass = passInput.text;

    if([nameInput.text isEqualToString:@"" ]|| [passInput.text isEqualToString:@""]) 
    {

        greeting.text = @"Input Your Value";
        [nameInput resignFirstResponder];
        [passInput resignFirstResponder];
        return;
    }

    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:@"https://108.16.210.28/Account/LogOn"];
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    [theRequest setHTTPMethod:@"POST"];  
    [theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];  
    [theRequest setHTTPBody:postData];  
    [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];

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

    if( theConnection )
    {
        webData = [[NSMutableData data] retain];
    }
    else
    {

    }

    [nameInput resignFirstResponder];
    [passInput resignFirstResponder];
    nameInput.text = nil;
    passInput.text = nil;

}

-(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
{

    [connection release];
    [webData release];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{

    NSString *loginStatus = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
    NSLog(loginStatus);
    greeting.text = loginStatus;
    [loginStatus release];



    [connection release];
    [webData release];
}


- (void)dealloc {
    [super dealloc];
}

@end

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

вам нужно проанализировать данные. Если они представлены в виде данных XML, то вам нужно проанализировать элемент (например, действительный) в didfoundcharacters. Если он действителен, то создайте переменную типа BOOL verify = NO; Изменить это в файле didfoundcharacters.if (подтвердите), затем предоставьте доступ

0 голосов
/ 15 ноября 2011

Используйте statusCode, чтобы увидеть состояние входа в систему.

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

   if([response isKindOfClass:[NSHTTPURLResponse class]])
   {
       NSHTTPURLResponse *theResponse = (NSHTTPURLResponse*)response;
       NSInteger theStatusCode = [theResponse statusCode];
       }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...