PHP实现的注册,登录及查询用户资料功能API接口示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现的注册,登录及查询用户资料功能API接口示例相关的知识,希望对你有一定的参考价值。
这篇文章主要介绍了php实现的注册,登录及查询用户资料功能API接口,结合具体实例形式分析了php服务器端用户注册、登陆、查询及curl登陆查询功能实现技巧,需要的朋友可以参考下
本文实例讲述了PHP实现的注册,登录及查询用户资料功能API接口。分享给大家供大家参考,具体如下:
服务端
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?php require ‘conn.php‘ ; $action = $_GET [ ‘action‘ ]; switch ( $action ) { //注册会员 case "adduserinfo" ; $username = lib_replace_end_tag(trim( $_GET [ ‘username‘ ])); $password2 = lib_replace_end_tag(trim( $_GET [ ‘userpassword‘ ])); $password = md5( "$password2" . ALL_PS); $email = lib_replace_end_tag(trim( $_GET [ ‘email‘ ])); if ( $username == ‘‘ || $password2 == ‘‘ || $password == ‘‘ ) { $res = urlencode( "参数有误" ); exit (json_encode( $res )); //有空信息 } $sql = "select username from `member` where username=‘$username‘" ; $count = mysql_num_rows( $query ); if ( $count > 0) { exit (json_encode(1)); //返回1表示注册失败 } else { $addsql = "insert into `member` (username,password,email) values (‘$username‘,‘$password‘,‘$email‘)" ; mysql_query( $addsql ); exit (json_encode(0)); //返回0表示注册成功 } break ; //查询用户信息 case "selectuserinfo" ; $username = lib_replace_end_tag( $_GET [ ‘username‘ ]); $sql = "select id,username,nickname,mobile from `member` where username=‘$username‘" ; $query = mysql_query( $sql , $conn ); $row = mysql_fetch_array( $query ); foreach ( $row as $key => $v ) { $res [ $key ] = urlencode( $v ); } exit (json_encode( $res )); break ; //会员登录 case "userlogin" ; $username = lib_replace_end_tag( $_GET [ ‘username‘ ]); $password2 = lib_replace_end_tag(trim( $_GET [ ‘userpassword‘ ])); $password = md5( "$password2" . ALL_PS); $sqluser = "select id,username,password from `member` where username=‘" . $username . "‘ and password=‘" . $password . "‘" ; $queryuser = mysql_query( $sqluser ); $rowuser = mysql_fetch_array( $queryuser ); if ( $rowuser && is_array ( $rowuser ) && ! empty ( $rowuser )) { if ( $rowuser [ ‘username‘ ] == $username && $rowuser [ ‘password‘ ] == $password ) { if ( $rowuser [ ‘password‘ ] == $password ) { $res = urlencode( "登录成功" ); exit (json_encode( $res )); } else { $res = urlencode( "密码错误" ); exit (json_encode( $res )); } } else { $res = urlencode( "用户名不存在" ); exit (json_encode( $res )); } } else { $res = urlencode( "用户名密码错误" ); exit (json_encode( $res )); } /* * 0:表示登录成功,1:表示密码错误,2:用户名不存在,3:用户名密码错误 */ break ; default : exit (json_encode(error)); } ?> |
客户端例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<?php header( ‘Content-Type:text/html;charset=utf-8‘ ); //避免输出乱码 function httpPost( $url , $parms ) { $url = $url . $parms ; if (( $ch = curl_init( $url )) == false) { throw new Exception(sprintf( "curl_init error for url %s." , $url )); } curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch , CURLOPT_HEADER, 0); curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT, 600); curl_setopt( $ch , CURLOPT_FOLLOWLOCATION, 1); if ( is_array ( $parms )) { curl_setopt( $ch , CURLOPT_HTTPHEADER, array ( ‘Content-Type: multipart/form-data;‘ )); } $postResult = @curl_exec( $ch ); $http_code = curl_getinfo( $ch , CURLINFO_HTTP_CODE); if ( $postResult === false || $http_code != 200 || curl_errno( $ch )) { $error = curl_error( $ch ); curl_close( $ch ); throw new Exception( "HTTP POST FAILED:$error" ); } else { // $postResult=str_replace("\xEF\xBB\xBF", ‘‘, $postResult); switch (curl_getinfo( $ch , CURLINFO_CONTENT_TYPE)) { case ‘application/json‘ : $postResult = json_decode( $postResult ); break ; } curl_close( $ch ); return $postResult ; } } $p = $_GET [ ‘p‘ ]; if ( $p == "selectuserinfo" ) { $username = $_GET [ ‘username‘ ]; $parms = "?action=selectuserinfo&username=" . $username . "" ; } elseif ( $p == "adduserinfo" ) { $username = $_GET [ ‘username‘ ]; $userpassword = $_GET [ ‘userpassword‘ ]; $parms = "?action=adduserinfo&username=" . $username . "&userpassword=" . $userpassword . "" ; } elseif ( $p == "userlogin" ) { $username = $_GET [ ‘username‘ ]; $userpassword = $_GET [ ‘userpassword‘ ]; $parms = "?action=userlogin&username=" . $username . "&userpassword=" . $userpassword . "" ; } $res = httpPost( $postUrl , $parms ); //$parms $res = json_decode( $res ); print_r(urldecode(json_encode( $res ))); ?> |
注:代码中的lib_replace_end_tag
函数为自定义字符串过滤函数,具体可参考:浅析php过滤html字符串,防止SQL注入的方法
希望本文所述对大家PHP程序设计有所帮助。
以上是关于PHP实现的注册,登录及查询用户资料功能API接口示例的主要内容,如果未能解决你的问题,请参考以下文章