【原创作品, 欢迎转载,转载请在明显处注明! 谢谢。

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


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


下面上代码

// // ViewController.h // NetDemo // // Created by zhouhaifeng on 12-6-6. // Copyright (c) 2012年 zhouhaifeng. All rights reserved. // #import <UIKit/UIKit.h> #import "ASIHttpHeaders.h" #import "CJSONDeserializer.h" #import "tooles.h" @interface ViewController : UIViewController<ASIHTTPRequestDelegate> { UITextField *username; UITextField *password; } @property (nonatomic,retain) UITextField *username; @property (nonatomic,retain) UITextField *password; @end // // ViewController.m // NetDemo // // Created by zhouhaifeng on 12-6-6. // Copyright (c) 2012年 zhouhaifeng. All rights reserved. // #import "ViewController.h" #define HOSTURL @"http://192.168.1.105/NetDemo/index.php"; @interface ViewController () -(void) login:(id)sender; -(void) GetErr:(ASIHTTPRequest *)request; -(void) GetResult:(ASIHTTPRequest *)request; @end @implementation ViewController @synthesize username,password; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UILabel *txt1 = [[UILabel alloc] initWithFrame:CGRectMake(30,100,70,30)]; [txt1 setText:@"用户名"]; [txt1 setBackgroundColor:[UIColor clearColor]]; [self.view addSubview:txt1]; UILabel *txt2 = [[UILabel alloc] initWithFrame:CGRectMake(30,140,70,30)]; [txt2 setText:@"密 码"]; [txt2 setBackgroundColor:[UIColor clearColor]]; [self.view addSubview:txt2]; username = [[UITextField alloc]initWithFrame:CGRectMake(120,100, 150, 30)]; [username setBorderStyle:UITextBorderStyleRoundedRect]; [self.view addSubview:username]; password = [[UITextField alloc]initWithFrame:CGRectMake(120,140, 150, 30)]; [password setBorderStyle:UITextBorderStyleRoundedRect]; [password setSecureTextEntry:YES]; [self.view addSubview:password]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btn setTitle:@"提交" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside]; [btn setFrame:CGRectMake(90, 180, 150, 40)]; [self.view addSubview:btn]; } -(void) login:(id)sender { //表单提交前的验证 if (username.text == nil||password.text==nil ) { [tooles MsgBox:@"用户名或密码不能为空!"]; return; } //隐藏键盘 [username resignFirstResponder]; [password resignFirstResponder]; // [tooles showHUD:@"正在登陆...."]; NSString *urlstr = HOSTURL; NSURL *myurl = [NSURL URLWithString:urlstr]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:myurl]; //设置表单提交项 [request setPostValue:username.text forKey:@"username"]; [request setPostValue:username.text forKey:@"password"]; [request setDelegate:self]; [request setDidFinishSelector:@selector(GetResult:)]; [request setDidFailSelector:@selector(GetErr:)]; [request startAsynchronous]; } //获取请求结果 - (void)GetResult:(ASIHTTPRequest *)request{ [tooles removeHUD]; NSData *data =[request responseData]; NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:data error:nil];

//输出接收到的字符串

NSString *str = [NSString stringWithUTF8String:[data bytes]];

NSLog(@"%@",str);

//判断是否登陆成功

if ([dictionary objectForKey:@"yes"]) { [tooles MsgBox:[dictionary objectForKey:@"yes"]]; return; }else if ([dictionary objectForKey:@"error"] != [NSNull null]) { [tooles MsgBox:[dictionary objectForKey:@"error"]]; return; } } //连接错误调用这个函数 - (void) GetErr:(ASIHTTPRequest *)request{ [tooles removeHUD]; [tooles MsgBox:@"网络错误,连接不到服务器"]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } -(void) dealloc { [username release]; [password release]; [super dealloc]; } @end
php端验证的代码,随便写了下,后面就是返回一个JSON格式的字符串。
<?php if($_POST['username'] == "admin" && $_POST['password'] == "admin") { echo '{"yes":"登陆成功"}'; }else { echo '{"error":"用户名或密码错误"}'; }; ?>

【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证相关推荐

  1. php简单的购物车,利用PHP实现一个简单购物车的demo示例代码

    利用PHP实现一个简单购物车的demo示例代码 数据结构跟关于PHP写购物车大体差不多,这里站长主要就购物车的主要业务逻辑进行一下说明: 1.用户未登陆时只能浏览商品,不能将其加入购物车 2.当未登陆 ...

  2. android实现计算器功能吗,利用Android实现一个简单的计算器功能

    利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...

  3. python推荐系统-利用python构建一个简单的推荐系统

    摘要: 快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫. 本文将利用python构建一个简单的推荐系统,在此之前读者需要对pandas和numpy等数据分析包有所了解. 什 ...

  4. 基于python的系统构建_利用python构建一个简单的推荐系统

    摘要: 快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫. 本文将利用python构建一个简单的推荐系统,在此之前读者需要对pandas和numpy等数据分析包有所了解. 什 ...

  5. java调python 监控_利用Python实现一个简单的系统监控图表

    作为运维人员,想必大家肯定都做过这样的事情:为了监控系统资源使用情况,开了若干个窗口,来回切换看输出: 只要我切得够快,性能异常点就逃不过我的眼睛! 这个时候你要是有个监控工具自然是很好的,例如我们美 ...

  6. python自己做个定时器_技术图文:如何利用 Python 做一个简单的定时器类?

    原标题:技术图文:如何利用 Python 做一个简单的定时器类? 背景 今天在B站上看有关 Python 最火的一个教学视频 -- "零基础入门学习 Python",这也是我们 P ...

  7. python推荐_利用Python构建一个简单的推荐系统

    原标题:利用Python构建一个简单的推荐系统 摘要:快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫.在此之前读者需要对pandas和numpy等数据分析包有所了解. 什么 ...

  8. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序

    利用Java设计一个简单的控制台学生信息管理程序 此程序可作为课设的参考,其中信息存储于文件中. 创建了学生类Student,用于存储学号等的信息.创建StudentFunction类,用于实现诸如学 ...

  9. html表格翻页简单,利用jQuery实现一个简单的表格上下翻页效果

    前言 本文主要介绍的是利用jQuery实现一个简单的表格上下翻页效果,注:实现原理与轮播图相似.下面话不多说,来看看详细的 实现方法吧. html: 日期参与团购场次团购结果当前状态 02.08 第一 ...

最新文章

  1. linux下FTP命令详解
  2. postgresql数据库的备份与恢复
  3. Python+Django+Eclipse 在Windows下快速开发自己的网站
  4. C#学习笔记(六):可空类型、匿名方法和迭代器
  5. 分布式数据库技术基础:分布透明性相关知识
  6. matlab生成西门子plc源文件,西门子PLC如何把DB快做成源文件
  7. 介绍6款热门的SpringCloud微服务开源项目,总有适合你的!
  8. SQL:查询表中各类点数量以及各类点满足某条件数量
  9. 戴尔服务器从东芝处获得闪存助力
  10. MyBatis(六)------MyBatis映射器(select元素、insert元素、update元素、select元素、sql元素)
  11. 正确使用 CDN 让你更好规避安全风险
  12. Cisco Packet Tracer安装
  13. linux库函数pthread.h------pthread_rwlock_t读写锁说明
  14. 干货 | 携程机票Sketch插件开发实践
  15. Opencv-python滤镜系列(3): 凹透镜滤镜效果实现
  16. GBase 8s 导入导出工具 unload/load
  17. C语言——一元多项式定义求和 [单链表] (数据结构)
  18. JavaMail 学习讲解
  19. 防火墙导致mysql登录不上_防火墙导致MySQL无法访问的问题解决案例
  20. 数据结构考研复试、工作面试常见问题及答案(动画版)

热门文章

  1. EXCEL取消合并单元格并填充每个取消合并后的单元格
  2. mysql crud操作_c#操作mysql数据库CRUD操作
  3. html显示与隐藏元素的几种方式
  4. SingleStore数据库(mysql分布式)-装载TPCH数据
  5. learun开发学堂:何为敏捷开发?
  6. 科视Christie RGB纯激光投影机点亮日本2025年大阪世界博览会主展馆
  7. 低版本3dmax怎么打开高版本文件?3种简单的方法拿走不谢
  8. 三维集成技术(3D IC)的原理和应用
  9. button实现href
  10. 如果“前任”写的代码像一坨屎…