网络编程
位置:首页>> 网络编程>> php编程>> PHP实现的注册,登录及查询用户资料功能API接口示例

PHP实现的注册,登录及查询用户资料功能API接口示例

作者:程序加载中  发布时间:2024-04-30 08:50:18 

标签:PHP,注册,登录,查询

本文实例讲述了PHP实现的注册,登录及查询用户资料功能API接口。分享给大家供大家参考,具体如下:

服务端


<?php
require 'conn.php';
header('Content-Type:text/html;charset=utf-8');
$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'";
   $query = mysql_query($sql, $conn);
   $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));
}
?>

客户端例子:


<?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;
 }
}
$postUrl = "http://pujia.test.com/api/server.php";
$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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com