最近在寫iOS一個小項目,用到了登錄,所以用SAE搭了個簡易的純數據后台。PHP語句入門很簡單,但是結合SQL就有點難度了。(代碼都是SAE平台運行的,估計和PHP有些方法不一樣,像SaeMysql就是SAE自己的一些函數)
首先說一下用到的PHP基本語法。
最基本的就是從客戶端的請求里,把參數提取出來,在PHP里面有三種方法,GET和POST,對應客戶端的請求方式。還有一種全能的,如下
1 $username = $_REQUEST['username']; //單引號里是參數名 2 $password = $_REQUEST['password'];
不管客戶端是GET請求還是POST,用REQUEST都能提取到參數。_GET和_POST看需求
以上是提取數據,然后呢是注冊登錄。現在先寫一下登錄吧,注冊的時候要說一下數據庫怎么創建,再細說。
登錄呢,思路是在數據庫里查找有沒有和提取到的username參數相匹配的元素,如果有,繼續匹配password,否則返回登錄失敗。首先看一下怎么查詢,用到SQL的查詢語句,怎么執行並返回查詢到的數據呢,用SAE里面的getData方法。
1 //查詢語句 2 $sql = "select * from 表名 where username='username' "; 3 //創建數據庫對象,以執行上面的SQL語句 4 $mysql = new SaeMysql(); 5 //執行完畢后會返回一個數組 6 $arr = $mysql -> getData(sql);
查詢完畢之后呢,要進行判斷了。首先看看數組里有沒有元素,來判斷數據表里有沒有對應的用戶。
1 if (count(arr) == 0) 2 { 3 //用JSON返回1代表賬戶不存在 4 $dic = array('success' => '1'); 5 echo json_encode($dic); 6 }
如果用戶存在,就需要進一步判斷密碼是否正確了。
1 else 2 { 3 //從數組里取出用戶字典 4 $userDic = $arr[0]; 5 $sqlPassword = $userDic['password']; 6 if($sqlPassword == $password) 7 { 8 $dic = array('success' => '0'); 9 echo json_encode($dic); 10 } 11 else 12 { 13 $dic = array('success' => '2'); 14 echo json_encode($dic); 15 } 16 }
這樣就用JSON返回了登錄結果。別忘了要關閉數據庫。
1 $mysql ->closeDb();
登錄就到這里。注冊要麻煩一些,要創建數據庫,配置一些屬性。另開一篇吧