开发者

validation username and password from server database in iphone

hi friends i am doing here validation for username and password from server database by given url of server i think i am going wrong i don't think my code is right please some help me how to validation from server database for username and password in iphone

-(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:@"http://server:85/VirtualTerminal/RecordAttendance.aspx"];//@"https://www.google.com/accounts/ServiceLogin?service=reader&passive=1209600&continue=http://www.google.co.in/reader/?hl%3Den%26tab%3Dwy&followup=http://www.google.co.in/reader/?hl%3Den%26tab%3Dwy&hl=en"];   //@"http://www.chakrainteractive.com/mob/iphone/login/chckusr.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 )
{
    webData = [[NSMutableData data] retain];
    //test *t=[[test alloc]initWithNibName:@"test" bundle:nil];
    //[self presentModalViewController:t animated:YES];
    //[t release];

}
else
{

}
//}
[nameInput resignFirstResponder];
[passInput resignFirstResponder];
nameInput.text = nil;
passInput.text = nil;
k
[webData append开发者_StackOverflowData: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];
}


Try setting with the following HTTPHeaderFields.

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];     
[request setValue:@"UTF-8" forHTTPHeaderField:@"charset"];      
[request setValue:@"XMLHttpRequest" forHTTPHeaderField:@"X-Requested-With"];

I believe that the login call may be a "GET" method instead of "POST".

Once again confirm with the server URL that you make the call.

Thanks.


You can use this code:

-(IBAction)btnclick1:(id)sender

{

    recordResult=FALSE;


    greeting.text=@"Processing";


    NSString *soapMessage=[NSString stringWithFormat:@" WEB SERVICE ",nameInput.text,passInput.text];


    NSLog(@"%@",soapMessage);


NSURL *url=[NSURL URLWithString:@"http://SOME URL.asmx"];

    NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:url];

    NSString *msgLength=[NSString stringWithFormat:@"%d",[soapMessage length]];




    [theRequest addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

    [theRequest addValue:@"http://tempuri.org/webservicename" forHTTPHeaderField:@"SOAPAction"];

    [theRequest addValue:msgLength forHTTPHeaderField:@"Content-Length"];

    [theRequest setHTTPMethod:@"POST"];

    [theRequest setHTTPBody:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

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

    [myActivity startAnimating];

    if(theConnection)

    {

        webData=[[NSMutableData data]retain];

    }

    else

    {

        NSLog(@"theConnection is NULL");

    }


        [nameInpt resignFirstResponder];

        [passinpt 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

{

    NSLog(@"ERROR with theConenction");

    [connection release];

    [webData release];

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

    NSLog(@"DONE.Received Bytes:%d",[webData length]);

    NSString *theXML =[[NSString alloc]initWithBytes:[webData mutableBytes]length:

[webData length] encoding:NSUTF8StringEncoding];

    NSLog(@"%@",theXML);

    [theXML release];

    if(xmlParser)
    {

        [xmlParser release];
        //xmlParser=nil;
    }

    xmlParser=[[NSXMLParser alloc]initWithData:webData];

    [xmlParser setDelegate:self];

    [xmlParser setShouldResolveExternalEntities:YES];

    [xmlParser parse];

    [myActivity stopAnimating];

    [webData release];
     //webData = nil; 

    [connection release];
}

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName


{
    if([myTxt1.text isEqualToString:@"webservresult"])

{

        if(!soapResult)

        {

            soapResult=[[NSMutableString alloc]init];

        }

        recordResult=TRUE;

    }

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{

    if(recordResult)

    {

        [soapResult appendString:string];

    }

}

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

{

    if([myTxt1.text isEqualToString:@"wsresult"])

    {

        recordResult=FALSE;     

        greeting.text=[NSString stringWithFormat:@"webservicename Result is:%@",soapResult];

        [soapResult release];

        soapResult=nil;

    }
}

that's it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜