• 登录功能同注册功能一样,都是使用 post 方法,在执行 sql 语句时,同样要使用 "select * from 表名 where 键名 = 参数" 的查询方式,不同的是:
  1. 注册使用查询语句是为了判断注册用的字段值是否重复 ? 注册失败 : 注册成功;
  2. 登录使用查询语句是为了查询表中是否有那个字段的值 ? 登录成功 : 登录失败;
  • 另一个相同的地方是都用到了 mysql_num_rows($result) 的sql 语句,都用它来做一件事,那就是通过它来确定返回的值是否为 1,根据返回这个值,来进行判断是否成功:
  1. 注册时,使用 $row = mysql_num_rows($result); 如果 $row=1,手机号存在,注册失败;
  2. 登录时,使用 $row = mysql_num_rows($result); 如果 $row=1,手机号存在,登录成功;

这个接口同样分为 5 步走:

连接服务器;

$link = mysql_connect("localhost","root","root") or die ("连接服务器失败".mysql_error());
//防止中文乱码
mysql_query("SET NAMES UTF8");

连接数据库;

mysql_select_db("test",$link) or die("选择数据库失败".mysql_error());

执行sql语句;

//参数
$tel = $_POST["tel"];
$pwd = $_POST["pwd"]; //根据条件查询
$insert = "select * from t_user where user_phone = '$tel' and user_password = '$pwd'";
$result = mysql_query($insert);

根据执行的结果,写两种不同的结果并以JSON方式返回;

//判断是否可以查询出要登录的手机号,还是使用 mysql_num_rows()返回的值是否为 1,就是1条数据,因此这个$row就是返回的一整条数据
$row = mysql_num_rows($result);
if($row == 1){
//定义一个数组
$array = array();
/*
* 如果等于1,说明查询成功,也就是登录成功,说明这个用户是存在的,就需要把对应的数据返回给一个数组
* 为什么要用 while 语句呢?因为登录一次只查询一条语句,while(){}语句,只执行一次
*/
while($row = mysql_fetch_array($result)){
//把返回的数据从 $row 中取出存入 $array中,一般是要把所有的字段都储存在 数组中
$array["user_id"] = $row["user_id"];
$array["user_phone"] = $row["user_phone"];
$array["user_name"] = $row["user_name"];
$array["user_sex"] = $row["user_sex"];
$array["user_password"] = $row["user_password"];
$array["user_header"] = $row["user_header"];
}
//把上面的数组以 json 格式返回
$json = json_encode(array(
"resultCode"=>200,
"message"=>"登录成功!",
"data"=>$array
));
echo($json);
}else{
$json = json_encode(array(
"resultCode"=>500,
"message"=>"登录失败!"
));
echo($json);
}

关闭服务器;

mysql_close($link);    

任何接口在让客户端使用时,都要进行测试,同样使用 Rest Client,参数同注册时一样:

唯一不同的是,登录需要返回查询的结果,也就是是否登录成功的消息需要返回给客户端:

有个问题不太明白,返回的 “message”为什么是"\u767b\u5f55\u6210\u529f\uff01"  ????

有知情的大侠能不能指点一下,非常感谢!

巳找到解决办法:http://www.cnblogs.com/baiyygynui/p/6653869.html

php post接口,登录功能的更多相关文章

  1. 设计基于HTML5的APP登录功能及安全调用接口的方式

    转自:http://blog.csdn.net/linlzk/article/details/45536065 最近发现群内大伙对用Hbuilder做的APP怎么做登录功能以及维护登录状态非常困惑,而 ...

  2. 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)

    登录 保存密码 安全 加密 最近发现群内大伙对用Hbuilder做的APP怎么做登录功能以及维护登录状态非常困惑,而我前一段时间正好稍微研究了一下,所以把我知道的告诉大家,节约大家查找资料的时间. 你 ...

  3. Struts+Hibernate+Spring实现用户登录功能

    通过登录案例实现三大框架之间的整合,登录功能是任何系统和软件必不可少的一个模块,然而通过这个模块来认识这些复杂的框架技术,理解数据流向和整个设计思路是相当容易的.只有在掌握了这些小模块的应用后,才能轻 ...

  4. Struts2整合Hibernate3实现用户登录功能

    所用技术:struts2 ,hibernate,jsp,mysql 本DEMO仅仅实现用户登录功能,采用MVC思想,自己也觉得相对是比较简单,比较容易理解数据流向的一个例子,通过整合这个过程,能够清晰 ...

  5. yii2.0自动登录功能的实现方法

    参考地址:http://www.kuitao8.com/20150518/3747.shtml 自动登录的原理很简单.主要就是利用cookie来实现的在第一次登录的时候,如果登录成功并且选中了下次自动 ...

  6. JavaWeb学习记录(六)——用户登录功能

    使用JDBC.spring框架.servlet实现一个简单的用户登录功能. 一.mySql数据库 SET FOREIGN_KEY_CHECKS=0; -- ---------------------- ...

  7. 项目开发-->一键登录功能汇总

    开发网站经常会提供一些一键登录功能,如:QQ.新浪微博.淘宝账号.开心网账号.人人网账号等进行快捷登录,下面记录几个常用的开放平台地址,方便以后开发需要. 1.QQ互联 2.新浪微博 网站接入QQ互联 ...

  8. 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)

    由于本人愚钝,整合ssm框架真是费劲了全身的力气,所以打算写下这篇文章,一来是对整个过程进行一个回顾,二来是方便有像我一样的笨鸟看过这篇文章后对其有所帮助,如果本文中有不对的地方,也请大神们指教. 一 ...

  9. 《微信小程序七日谈》- 第五天:你可能要在登录功能上花费大力气

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩: 第五 ...

随机推荐

  1. nginx入门教程

    nginx入门教程 一.概述    什么是nginx?   Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器.   什么是反向 ...

  2. [Jenkins]JDK版本过高导致的java.io.IOException: Remote call on xxxx failed

    ------------------------------------------------------ 如需转载,请注明出处. 文章链接:https://www.cnblogs.com/dzbl ...

  3. wamp解决ajax跨域问题

    若使用ajax测试本地数据时,遇到的跨域问题,如 因为ajax只能用于请求服务器的数据,而在本地测试,打开的文件是以 file:// 的形式, 所以报错 可以通过 nginx 建立反向代理,处理静态文 ...

  4. [android学习]__使用百度地图开放api编写地图定位app

    前言 在前面我已经记录关于如何使用百度地图api,以及如何配置相关的androidstudio配置了,接下来将记录如何使用百度地图api开发简单的地图定位apk,我将决定不定期持续更新本篇笔记,在每个 ...

  5. ADO.NET的整理

    ADO.NET的几个对象 Connection:管理数据库的连接 Command:对数据库执行命令 DataReader:数据流读取器,返回的数据都是快速的且只是“向前”的数据流.无法实例化,只能通过 ...

  6. Hadoop学习笔记(六):hive使用

    1. 安装hive:上传apache-hive-2.1.1-bin.tar.gz文件到/usr/local目录下,解压后更名为hive. 2. 配置hive环境变量,编辑/etc/profile文件( ...

  7. Android Navigation 架构组件入门教程

    Android Navigation 架构组件入门教程 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:https://www.cnblogs.com/cavalier-/p/1 ...

  8. Python爬虫之多线程下载豆瓣Top250电影图片

    爬虫项目介绍   本次爬虫项目将爬取豆瓣Top250电影的图片,其网址为:https://movie.douban.com/top250, 具体页面如下图所示:   本次爬虫项目将分别不使用多线程和使 ...

  9. C# 未能加载文件或程序集“ Newtonsoft.Json” Json格式错误

    原因:版本不一致,所使用的dll和配置文件中的版本不一致.解决: (1)查看所使用的Newtonsoft.Json.dll版本 ,然后把对应的版本修改在配置文件中如下,比如版本为“4.5.0.0” 修 ...

  10. 细说flush、ob_flush的区别

    ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_* ...