3 回答
TA贡献1875条经验 获得超5个赞
首先明确一点,ios这边与后台的交互都是通过API进行。。并且 API 与 MYSQL 之间会有一定的业务逻辑。。
拿你说的问题 应该是这样的流程:
1、ios 做登录操作,通过API POST 上传 账号密码 参数
2、后台PHP 通过POST 接受参数,并与数据库中数据 进行对比 校验
3、通过后 可以生成一个session 然后将session存入数据库,并将session返回给ios客户端
4、ios客户端将session 打包到API请求里面
5、php后台接受任意的请求 查看session是否存在session表里 有的话 请求合法 无的话 请求不合法
另:未考虑 过期机制。。简单的流程
TA贡献1830条经验 获得超3个赞
最简单的办法就是使用web的session机制,现有的php代码改动最小甚至不用改。
把给iOS使用的API接口想象成网页里的一个ajax请求就行了,php返回json数据比较方便客户端解析。
举个例子:
现在的php登录可能是这样的:用户通过网页的 form 提交用户名和密码,php查询mysql验证用户信息,如果可以登录就设置session和cookie,标记用户已登录,然后php返回 redirect 响应(登陆前的页面或首页)。
如果是ajax登录,最后一步返回的是json数据,比如 return json_encode(['code' => '1', 'msg' => '登录成功!']);
上面是一个最简单的php+mysql登录的例子,如果你看不明白就先去搜索学习“php ajax登录”。如果能知道上面说的是什么,iOS部分其实不用学习了,你已经会了。iOS使用的Api跟Ajax使用的是一样一样的。
iOS客户端使用HTTP client (推荐 AFNetworking),请求某个URL,php返回json数据即可。关于cookie,session什么的,系统已自动处理,iOS客户端无须手动处理。
Api返回JSON只是方便客户端解析,你也可以返回xml , text, html等任意类似,只要跟客户端协商好就行了。
添加回答
举报