【原文地址:http://blog.csdn.net/toss156/article/details/7638529】

今天给大家带来一个简单的登陆验证,用的是ASIHttpRequest 这个开源类库,使用的方法很简单,从网上下载下来以后,添加到项目中,并添加一下这些框架。


下面上代码

[cpp]view plaincopy // //ViewController.h //NetDemo // //Createdbyzhouhaifengon12-6-6. //Copyright(c)2012年zhouhaifeng.Allrightsreserved. // #import<UIKit/UIKit.h> #import"ASIHttpHeaders.h" #import"CJSONDeserializer.h" #import"tooles.h" @interfaceViewController:UIViewController<ASIHTTPRequestDelegate> { UITextField*username; UITextField*password; } @property(nonatomic,retain)UITextField*username; @property(nonatomic,retain)UITextField*password; @end [cpp]view plaincopy // //ViewController.m //NetDemo // //Createdbyzhouhaifengon12-6-6. //Copyright(c)2012年zhouhaifeng.Allrightsreserved. // #import"ViewController.h" #defineHOSTURL@"http://192.168.1.105/NetDemo/index.php"; @interfaceViewController() -(void)login:(id)sender; -(void)GetErr:(ASIHTTPRequest*)request; -(void)GetResult:(ASIHTTPRequest*)request; @end @implementationViewController @synthesizeusername,password; -(void)viewDidLoad { [superviewDidLoad]; //Doanyadditionalsetupafterloadingtheview,typicallyfromanib. UILabel*txt1=[[UILabelalloc]initWithFrame:CGRectMake(30,100,70,30)]; [txt1setText:@"用户名"]; [txt1setBackgroundColor:[UIColorclearColor]]; [self.viewaddSubview:txt1]; UILabel*txt2=[[UILabelalloc]initWithFrame:CGRectMake(30,140,70,30)]; [txt2setText:@"密码"]; [txt2setBackgroundColor:[UIColorclearColor]]; [self.viewaddSubview:txt2]; username=[[UITextFieldalloc]initWithFrame:CGRectMake(120,100,150,30)]; [usernamesetBorderStyle:UITextBorderStyleRoundedRect]; [self.viewaddSubview:username]; password=[[UITextFieldalloc]initWithFrame:CGRectMake(120,140,150,30)]; [passwordsetBorderStyle:UITextBorderStyleRoundedRect]; [passwordsetSecureTextEntry:YES]; [self.viewaddSubview:password]; UIButton*btn=[UIButtonbuttonWithType:UIButtonTypeRoundedRect]; [btnsetTitle:@"提交"forState:UIControlStateNormal]; [btnaddTarget:selfaction:@selector(login:)forControlEvents:UIControlEventTouchUpInside]; [btnsetFrame:CGRectMake(90,180,150,40)]; [self.viewaddSubview:btn]; } -(void)login:(id)sender { //表单提交前的验证 if(username.text==nil||password.text==nil){ [toolesMsgBox:@"用户名或密码不能为空!"]; return; } //隐藏键盘 [usernameresignFirstResponder]; [passwordresignFirstResponder]; // [toolesshowHUD:@"正在登陆...."]; NSString*urlstr=HOSTURL; NSURL*myurl=[NSURLURLWithString:urlstr]; ASIFormDataRequest*request=[ASIFormDataRequestrequestWithURL:myurl]; //设置表单提交项 [requestsetPostValue:username.textforKey:@"username"]; [requestsetPostValue:username.textforKey:@"password"]; [requestsetDelegate:self]; [requestsetDidFinishSelector:@selector(GetResult:)]; [requestsetDidFailSelector:@selector(GetErr:)]; [requeststartAsynchronous]; } //获取请求结果 -(void)GetResult:(ASIHTTPRequest*)request{ [toolesremoveHUD]; NSData*data=[requestresponseData]; NSDictionary*dictionary=[[CJSONDeserializerdeserializer]deserializeAsDictionary:dataerror:nil]; <pclass="p1"><spanclass="s1"></span><spanclass="s2">//</span>输出接收到的字符串</p><pclass="p2"><spanclass="s4">NSString</span><spanclass="s3">*str=[</span><spanclass="s4">NSString</span><spanclass="s3"></span>stringWithUTF8String<spanclass="s3">:[data</span>bytes<spanclass="s3">]];</span></p><pclass="p3"><spanclass="s5">NSLog</span>(<spanclass="s6">@"%@"</span>,str);</p><pclass="p1"><spanclass="s1"></span><spanclass="s2">//</span>判断是否登陆成功</p> if([dictionaryobjectForKey:@"yes"]){ [toolesMsgBox:[dictionaryobjectForKey:@"yes"]]; return; }elseif([dictionaryobjectForKey:@"error"]!=[NSNullnull]){ [toolesMsgBox:[dictionaryobjectForKey:@"error"]]; return; } } //连接错误调用这个函数 -(void)GetErr:(ASIHTTPRequest*)request{ [toolesremoveHUD]; [toolesMsgBox:@"网络错误,连接不到服务器"]; } -(void)viewDidUnload { [superviewDidUnload]; //Releaseanyretainedsubviewsofthemainview. } -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return(interfaceOrientation!=UIInterfaceOrientationPortraitUpsideDown); } -(void)dealloc { [usernamerelease]; [passwordrelease]; [superdealloc]; } @end


php端验证的代码,随便写了下,后面就是返回一个JSON格式的字符串。
[php]view plaincopy <?php if($_POST['username']=="admin"&&$_POST['password']=="admin") { echo'{"yes":"登陆成功"}'; }else { echo'{"error":"用户名或密码错误"}'; }; ?>