最近在寫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();
登錄就到這裡。注冊要麻煩一些,要創建數據庫,配置一些屬性。另開一篇吧
找個免費的php源代碼網站下一個吧.
恩 改了 你試試看
這個我不可能寫得直接能連接到你所要求的數據庫的,因為不知道你數據庫信息與表的設計,所以你要自己更換代碼裡的hostname,db_user,password,db以及表名,字段名,更換了應當就可以直接使用的,用戶名密碼正確與錯誤我做了修改
<?php
session_start();
$host = "localhost"; //服務器名稱
$db_user = "root"; //用戶名
$db_password = "74862856"; //密碼
$db = "TEST"; //所要連接的數據庫
$link_id = @ mysql_connect($host,$db_user,$db_password) or die("連接數據庫失敗".mysql_error());
$db_selected = mysql_select_db($db,$link_id);
if(!$db_selected){
die("未找到指定的數據庫".mysql_error());
}
if(isset($_COOKIE['user'])){
$sql = 'select * from name where user="'.$_COOKIE['user'].'"';
$result = @ mysql_query($sql,$link_id) or die("SQL語句出錯");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
if(isset($row)){ //如果數據庫中存在該用戶
Header("Location:index.php"); //合法COOKIE直接跳轉到指定界面
}else{
$_COOKIE['user'] = ""; //非法COOKIE清空
Header("Location:login.php"); //重新載入界面
}
}
if(isset($_POST['submitted'])){
$user = $_POST['user'];
$pwd = $_POST['pwd'];
$sql = 'select * from name where user="'.$user.'"';
$result = @ mysql_query($sql,$link_id) or die("SQL語句出錯");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$cmp_pwd = $row['password'];
if($cmp_p......余下全文>>