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

发布时间 - 2026-01-11 01:44:45    点击率:

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP+MySQL会员系统开发专题》、《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 注册  # 登录  # 查询  # 用户资料  # API接口  # PHP实现简单注册登录系统  # 基于PHP的登录和注册的功能的实现  # 基于PHP实现用户登录注册功能的详细教程  # PHP实现的登录  # 注册及密码修改功能分析  # php注册和登录界面的实现案例(推荐)  # PHP实现简单注册登录详细代码  # 程序设计  # 不存在  # 相关内容  # 感兴趣  # 注册会员  # 给大家  # 自定义  # 更多关于  # 所述  # 服务端  # 面向对象  # 注册成功  # 客户端  # 操作技巧  # 编程技巧  # 讲述了  # urlencode  # res  # email  # exit 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript中如何操作剪贴板_ClipboardAPI怎么用  phpredis提高消息队列的实时性方法(推荐)  Swift中循环语句中的转移语句 break 和 continue  高端建站如何打造兼具美学与转化的品牌官网?  如何在新浪SAE免费搭建个人博客?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  微信小程序 wx.uploadFile无法上传解决办法  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel storage目录权限问题_Laravel文件写入权限设置  如何用PHP快速搭建CMS系统?  详解Huffman编码算法之Java实现  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  html5的keygen标签为什么废弃_替代方案说明【解答】  *服务器网站为何频现安全漏洞?  python中快速进行多个字符替换的方法小结  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  北京的网站制作公司有哪些,哪个视频网站最好?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  音乐网站服务器如何优化API响应速度?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  UC浏览器如何设置启动页 UC浏览器启动页设置方法  如何快速重置建站主机并恢复默认配置?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  详解CentOS6.5 安装 MySQL5.1.71的方法  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何自定义建站之星网站的导航菜单样式?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  开心动漫网站制作软件下载,十分开心动画为何停播?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  详解Android图表 MPAndroidChart折线图  如何用wdcp快速搭建高效网站?  js代码实现下拉菜单【推荐】  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何生成API文档?(Swagger/OpenAPI教程)  如何在云主机快速搭建网站站点?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  手机网站制作与建设方案,手机网站如何建设?  如何快速生成高效建站系统源代码?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在IIS服务器上快速部署高效网站?  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel如何发送系统通知?(Notification渠道示例)  简历在线制作网站免费版,如何创建个人简历?