首页 > 语言 > PHP > 正文

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

2024-05-04 23:57:48
字体:
来源:转载
供稿:网友

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

服务端

<?phprequire '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));}?>

客户端例子:

<?phpheader('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程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选