首先页面分为两种:
1.静态页面:不能与用户进行交互
2.动态页面:能与用户进行交互
Get 请求:
《一》 网页
把要登陆的网页放到本地Apachectl 服务器
本文示范网页会在demo中给出;因本地数据库配置问题可能无法正常注册,下面在数据库配置会给出
/Library/WebServer/Documents 网页路径
启动动态页面:/etc/apache2/httpd.conf 打开后:
打开 LoadModule php5_module libexec/apache2/libphp5.so 这句,就是把前面#号去掉
127.0.0.1访问自身的回路IP,或者 localhost
显示是:It works! 表示开启成功!
《二》数据库配置
下载 Nacivat for MySQL
下载后在系统偏好设置里面打开MySQL
启动 下图是启动成功后的图
回到MySQL
第一步:建立 root 表
分别名字是登陆账号:
密码:
创建好细节如图:
解释一下:
之所以这样是为了与网页中对数据库连接的名字一致性,对表数据名字类型访问的一致性,表里面的账号密码都是测试用的,如果网页用的是远端的服务器,也是类似。
以上只是辅助作用,接下来该代码操作啦!!!
在登陆事件中进行一下登陆操作
//得到用户名和密码
NSString * uname=self.unameText.text;
NSString * upass=self.upassText.text;
//剔除两端空格
//有效性验证
//注册
//url
NSString * strUrl=[NSString stringWithFormat:@"http://127.0.0.1/YYG/qqss/action_get.php?uname=%@&upass=%@&submit=register",uname,upass];
//这个是我的网页在回路的路径,注意个人电脑的区分
NSLog(@"%@",strUrl);
NSURL * url=[NSURL URLWithString:strUrl];
//会话
NSURLSession * session=[NSURLSession sharedSession];
//任务
NSURLSessionDataTask * task=[session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"--%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]);
[self performSelectorOnMainThread:@selector(action:) withObject:data waitUntilDone:YES]; //把数据打到主线程,在UI界面上处理
}];
//启动任务
[task resume];
NSLog(@"this is main!!");
事件实现函数
-(void)action:(NSData *)data
{
NSString * str=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@...",str);
if([str containsString:@"恭喜你,注册成功,你可以去登录了!!"])
{
[YYGUtil alertWithMessage:@"恭喜你,注册成功,你可以去登录了!" andViewController:self];
}
else if([str containsString:@"对不起!您要注册的用户已经存在,请更换用户名后再注册!!"])
{
[YYGUtil alertWithMessage:@"对不起!您要注册的用户已经存在,请更换用户名后再注册!" andViewController:self];
}
else
{
[YYGUtil alertWithMessage:@"对不起,注册失败,请稍候在试!" andViewController:self];
}
}
以上是get 方式以网页的方式在iOS客服端的注册登陆,以上仅仅以iOS客服端在网页上注册
Get方式注册登陆demo点击我: 如何觉得有用请给个喜欢,关注
接下来以POST方式在iOS客服端上登陆 网页
POST 方式实现的地方与get一样
在功能执行函数里面执行以下代码
//得到用户名和密码
NSString * uname=self.unameText.text;
NSString * upass=self.upassText.text;
//剔除两端空格
//有效性验证
//注册
//url
NSString * strUrl=[NSString stringWithFormat:@"http://127.0.0.1/YYG/qqss/action.php"];
NSURL * url=[NSURL URLWithString:strUrl];
//请求
NSMutableURLRequest * request=[NSMutableURLRequest requestWithURL:url];
//设置提交方式为post
[request setHTTPMethod:@"post"];
//设置提交参数
NSString * strParameter=[NSString stringWithFormat:@"uname=%@&upass=%@&submit=register",uname,upass];
NSLog(@"%@",strParameter);
[request setHTTPBody:[strParameter dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSession * session=[NSURLSession sharedSession];
NSURLSessionDataTask * task=[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]);
[self performSelectorOnMainThread:@selector(action:) withObject:data waitUntilDone:YES];
}];
[task resume];
NSLog(@"this is main!!");
解释上面:
1.得到URL
NSString *strUrl=[NSStringstringWithFormat:@" http://192.168.200.61/zhq/action.php"];
NSURL *url=[NSURL URLWithString:strURL];
2.请求
NSMutableURLRequest*request=[NSMutableURLRequestrequestWithURL:url];
3.必须设置提交方式是post
[requestsetHTTPMethod:@"POST"];//必须大写
4.设置提交参数
NSString*strParameter=[NSStringstringWithFormat:@"uname=%@&upass=%@&submit=register",uname,upass];
5.把提交参数加载到请求主体
[requestsetHTTPBody:[strParameterdataUsingEncoding:NSUTF8StringEncoding]];
6.创建URL会话
NSURLSession*session=[NSURLSession sharedSession];
7.建立任务
NSURLSessionDataTask*task=[sessiondataTaskWithRequest:requestcompletionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullableresponse, NSError * _Nullable error) {
NSLog(@"%@",[[NSStringalloc]initWithData:data encoding:NSUTF8StringEncoding]);
[selfperformSelectorOnMainThread:@selector(action:) withObject:datawaitUntilDone:YES];
//与get相同
}];
8.启动
[taskresume];
事件执行函数与get一样
POST demo 都是在一个地方 点击我