Home  >  Article  >  Backend Development  >  PHPRPC for php 登陆的兑现

PHPRPC for php 登陆的兑现

WBOY
WBOYOriginal
2016-06-13 13:19:53757browse

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.php
compat.php
phprpc_date.php
dhparams.php
phprpc_server.php
phprpc_client.php
xxtea.php

下面的这几个文件是属于公共文件,不管是服务端,还是客户端,都需要的
bigint.php
compat.php
phprpc_date.php
xxtea.php

下面的是服务端所需要的文件
dhparams
dhparams.php
phprpc_server.php

bigint.php
compat.php
phprpc_date.php
xxtea.php

下面是客户端所需要的
phprpc_client.php

bigint.php
compat.php
phprpc_date.php
xxtea.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文件
然后看客户端代码
<?php include ('phprpc_client.php');
$client = new PHPRPC_Client('http://127.0.0.1/webservice/test.php');//在这里填上服务端的允许远程访问的方法,下面就可以像调用本地方法一样,进行使用了
if($client->login('lxx','test')){
	echo "Login Success!";
}
else{
	echo "Login Wrong!";
}
?>

然后在在地址栏里访问下http://localhost/webclient/client.php
看看效果吧。

是不是很简单!这里只是一些简单的验证,对于数据的读取,写入,这些还没有研究到,
有结果的话,会第一时间进行更新的,喜欢的话,可以关注下哈。

还有,需要注意一点的就是,如果发现结果跟自己想要的不一样,而又没任何提示,就去服务端找错误吧,虽然开启了调试模式,但是不知道怎么用,有些代码行有错误,客户端没有提示!
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn