• 登录功能同注册功能一样,都是使用 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. 课程五(Sequence Models),第三周(Sequence models & Attention mechanism) —— 1.Programming assignments:Neural Machine Translation with Attention

    Neural Machine Translation Welcome to your first programming assignment for this week! You will buil ...

  2. 【翻译】JavaScript内存泄露

    原文地址:http://javascript.info/tutorial/memory-leaks#tools 我们在进行JavaScript开发时,很少会考虑内存的管理.JavaScript中变量的 ...

  3. 浅谈Unity3D 骨骼动画

    转载请标明出处http://www.cnblogs.com/zblade/ 最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭 ...

  4. 微信小程序跳转小程序

    <navigator target="miniProgram" open-type="navigate" app-id="{{BappId}}& ...

  5. 函数式编程之-Partial application

    上一篇关于Currying的介绍,我们提到F#是如何做Currying变换的: let addWithThreeParameters x y z = x + y + z let intermediat ...

  6. leetcode — edit-distance

    /** * Source : https://oj.leetcode.com/problems/edit-distance/ * * * Given two words word1 and word2 ...

  7. 【原创】深入理解c++的右值引用

    0 左值和右值     一个左值表达式代表的是对象本身,而右值表达式代表的是对象的值:变量也是左值.   1 右值引用作用 为了支持移动操作(包括移动构造函数和移动赋值函数),C++才引入了一种新的引 ...

  8. [深度学习] 权重初始化--Weight Initialization

    深度学习中的weight initialization对模型收敛速度和模型质量有重要影响! 在ReLU activation function中推荐使用Xavier Initialization的变种 ...

  9. Go Web:数据存储(3)——gob对象序列化

    序列化持久存储gob 1.内存存储 2.CSV文件存储 3.gob序列化存储 本篇文章仍然接前面的文章:内存存储,主要介绍将博客文章数据序列化持久到文件中. encoding/gob包用于编码器和解码 ...

  10. Docker之使用Dockerfile创建定制化镜像(四)--技术流ken

    前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...