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等任意類似,只要跟客戶端協商好就行了。
添加回答
舉報