PHPRPC for php 登陸的實現
一直想研究下php下的web service究竟是什麼樣子的。今天終於抽出時間了。在網上找了下這個phprpc對php 下的web service封閉的不錯,也支援其它版本的。在這裡只提下
phprpc for php的小應用,感興趣的可以到官網上瞭解下其它版本
官網:http://www.phprpc.org/zh_CN/
首先簡單說下怎麼搭建吧,下載phprpc_3.0.1_php.zip之後解壓,會出來這些檔案
dhparams //檔案夾pecl //檔案夾bigint.phpcompat.phpphprpc_date.phpdhparams.phpphprpc_server.phpphprpc_client.phpxxtea.php
下面的這幾個檔案是屬於公用檔案,不管是服務端,還是用戶端,都需要的
bigint.phpcompat.phpphprpc_date.phpxxtea.php
下面的是服務端所需要的檔案
dhparamsdhparams.phpphprpc_server.phpbigint.phpcompat.phpphprpc_date.phpxxtea.php
下面是用戶端所需要的
phprpc_client.phpbigint.phpcompat.phpphprpc_date.phpxxtea.php
首先在www目錄下建兩個檔案夾
webservice
webclient
把服務端的檔案放進webservice裡
把用戶端的檔案放在webclient裡
然後在webservice裡建立一個test.php檔案
代碼如下
include ('phprpc_server.php');function islogin($u,$p){$con = mysql_connect('localhost','root','123') or die('資料庫連接失敗');mysql_select_db('newspublish');mysql_query('SET NAMES utf8');$p = md5($p);$sql = "select * from t_user where `username`= '$u' and `password` ='$p'";//file_put_contents('log.txt',$sql);$result = mysql_query($sql);$n = mysql_num_rows($result);if ($n > 0){ return true;}else{ return false;}}function login($u,$p){if(islogin($u,$p)){return true;}else{return false;}}//上面的代碼,我就不多說了,懂php的,那些都是基礎$server = new PHPRPC_Server();$server->add('login');//添加允許遠端存取的方法$server->setDebugMode(true);//開啟偵錯模式,但這個我不知道怎麼用,研究出來的話,會更新的$server->start();//開始
在webclient裡建一個client.php檔案
然後看用戶端代碼
login('lxx','test')){echo "Login Success!";}else{echo "Login Wrong!";}?>
然後在在地址欄裡訪問下http://localhost/webclient/client.php
看看效果吧。
是不是很簡單!這裡只是一些簡單的驗證,對於資料的讀取,寫入,這些還沒有研究到,
有結果的話,會第一時間進行更新的,喜歡的話,可以關注下哈。
還有,需要注意一點的就是,如果發現結果跟自己想要的不一樣,而又沒任何提示,就去服務端找錯誤吧,雖然開啟了偵錯模式,但是不知道怎麼用,有些程式碼有錯誤,用戶端沒有提示!