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渠道示例)
简历在线制作网站免费版,如何创建个人简历?
上一篇:企业官网高效管理策略探析
上一篇:企业官网高效管理策略探析

