接着《ios+php注册登录系统 php部分(上)》进行学习
3.ios部分
上一次我们写完了数据库部分和php部分这次我们来完成ios部分。
首先先在storyboard中一阵狂拖,弄成如下图。
可以先在text field中输入用户名和密码 方便以后调试。
3.1登录部分代码
创建一个新的uiviewcontroller 名为registviewcontroller(用于注册用户,viewcontroller用于登录)。
在viewcontroller.h中importregistviewcontroller
#import "registviewcontroller.h"
然后设置登录界面中的控件 用来写用户名的控件名设置为txtuser,密码的控件名设置为txtpwd,确定按钮的方法名称为
loginclick,注册按钮的方法名为registbutton。
然后开始写viewcontroller.m中的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
//
// viewcontroller.m
// ioslogin
//
// created by 曹晗 on 16/2/25.
// copyright :emoji: 2016年 caohan. all rights reserved.
//
#import "viewcontroller.h"
@interface viewcontroller ()
@property (weak, nonatomic) iboutlet uitextfield *txtuser;
@property (weak, nonatomic) iboutlet uitextfield *txtpwd;
@end
@implementation viewcontroller
- ( void )viewdidload {
[super viewdidload];
// do any additional setup after loading the view, typically from a nib.
}
- ( void )didreceivememorywarning {
[super didreceivememorywarning];
// dispose of any resources that can be recreated.
}
- (ibaction)loginclick:(id)sender {
//前后去空格
nsstring *username = [_txtuser.text stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset]];
nsstring *userpwd = [_txtpwd.text stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset]];
nsdictionary *jsondic = [self getjsondata:username userpwd:userpwd];
nsstring* loginflag = [jsondic objectforkey:@ "loginflag" ];
nslog(@ "%@" ,loginflag);
[self aletrinfo:loginflag];
}
- (ibaction)registbutton:(id)sender {
uistoryboard *storboard = self.storyboard;
registviewcontroller *vc2 = [storboard instantiateviewcontrollerwithidentifier:@ "vc2" ];
[self presentviewcontroller:vc2 animated:yes completion:nil];
}
//用于请求php 获得json
- (nsdictionary *)getjsondata:(nsstring *)user_name userpwd:(nsstring *)user_pwd {
nserror *error;
nsstring *urlstring = [nsstring stringwithformat:@ "http://192.168.1.106/ioslogin/index.php?action=login&user_name=%@&user_pwd=%@" ,user_name,user_pwd];
//加载一个nsurl对象
nsurlrequest *request = [nsurlrequest requestwithurl:[nsurl urlwithstring:urlstring]];
//将请求的url数据放到nsdata对象中
nsdata *response = [nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];
//ios5自带解析类nsjsonserialization从response中解析出数据放到字典中
nsdictionary *jsondic = [nsjsonserialization jsonobjectwithdata:response options:nsjsonreadingmutableleaves error:&error];
nslog(@ "接收到的数据为%@" ,jsondic);
return jsondic;
}
//弹出信息
- ( void )aletrinfo:(nsstring *)loginflag{
uialertview *alert = [[uialertview alloc]init];
[alert settitle:@ "提示" ]; [alert setdelegate:nil];
[alert addbuttonwithtitle:@ "确定" ];
if ([loginflag isequal: @ "0" ]) {
[alert setmessage:@ "账号或密码错误" ];
}
if ([loginflag isequal:@ "1" ]) {
[alert setmessage:@ "登陆成功" ];
}
[alert show];
}
@end
|
在注册按钮能够跳转界面前,要先将stroyboard中的注册界面的stroyboard id设置为vc2才可以进行跳转。
其中这里的192.168.1.106可以写localhost也可以写自己的ip地址。
写到这里就可以先进行调试一下登录了。后面的注册用户代码也和这里差不多。
3.2注册界面代码
先在registviewcongroller.h中import viewcontroller.h
#import "viewcontroller.h"
然后是registviewcontroller.m中的代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
//
// registviewcontroller.m
// ioslogin
//
// created by 曹晗 on 16/2/27.
// copyright 2016年 caohan. all rights reserved.
//
#import "registviewcontroller.h"
@interface registviewcontroller ()
@property (weak, nonatomic) iboutlet uitextfield *txtuser;
@property (weak, nonatomic) iboutlet uitextfield *txtpwd;
@end
@implementation registviewcontroller
- ( void )viewdidload {
[super viewdidload];
// do any additional setup after loading the view.
}
- ( void )didreceivememorywarning {
[super didreceivememorywarning];
// dispose of any resources that can be recreated.
}
//这个是注册按钮
- (ibaction)registbutton:(id)sender {
nsstring *username = [_txtuser.text stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset]];
nsstring *userpwd = [_txtpwd.text stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset]];
nsdictionary *jsondic = [self getjsondata:username userpwd:userpwd];
nsstring* registflag = [jsondic objectforkey:@ "registflag" ];
nslog(@ "%@" ,registflag);
[self aletrinfo:registflag];
}
//这个是返回按钮
- (ibaction)returnbutton:(id)sender {
[self dismissmodalviewcontrolleranimated:yes];
}
- (nsdictionary *)getjsondata:(nsstring *)user_name userpwd:(nsstring *)user_pwd {
nserror *error;
nsstring *urlstring = [nsstring stringwithformat:@ "http://192.168.1.106/ioslogin/index.php?action=regist&user_name=%@&user_pwd=%@" ,user_name,user_pwd];
//加载一个nsurl对象
nsurlrequest *request = [nsurlrequest requestwithurl:[nsurl urlwithstring:urlstring]];
//将请求的url数据放到nsdata对象中
nsdata *response = [nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];
//ios5自带解析类nsjsonserialization从response中解析出数据放到字典中
nsdictionary *jsondic = [nsjsonserialization jsonobjectwithdata:response options:nsjsonreadingmutableleaves error:&error];
nslog(@ "接收到的数据为%@" ,jsondic);
return jsondic;
}
- ( void )aletrinfo:(nsstring *)registflag{
uialertview *alert = [[uialertview alloc]init];
[alert settitle:@ "提示" ]; [alert setdelegate:nil];
[alert addbuttonwithtitle:@ "确定" ];
if ([registflag isequal: @ "0" ]) {
[alert setmessage:@ "用户名已存在" ];
}
if ([registflag isequal:@ "1" ]) {
[alert setmessage:@ "注册成功" ];
}
[alert show];
}
@end
|
到这里所有的代码都已经写完了,我是一个新手,如果有不足或者代码错误之处还请指出。谢谢各位读者。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
相关文章
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-25 43
-
2025-05-25 25
-
2025-05-29 90
-
2025-05-29 90
-
2025-06-04 100