php post接口,注册功能
功能描述:仅输入手机号和密码,实现注册功能。手机号有简单的验证,不可重复输入,否则会报500错误。
在使用 RestClient 进行post测试时,如果你把参数放在 【Headers】区块了,那么,插入的数据值是空的,可以看下图:
我把传回的参数值 tel 和 pwd 的值和Content-Type放在一起了,这是不对的,因为【Payload】中的参数为空,因此在查看数据库时,发现插入了一条参数为空的数据:
在使用 RestClient 进行post测试时,【Headers】区块仅仅是添加 Content-Type,而【Payload】区块才是添加参数的地方:
这时也能查到数据:
同查询功能一样,这个接口也是分5步走:
- 连接服务器,防止中文乱码
- 选择数据库
- 执行sql语句,设置post的参数,判断手机号是否重复
- 根据插入的数据返回值,判断是否新增成功
- 关闭服务器
下面是代码:
<?php //post 接口 //1、连接服务器 $link = mysql_connect("localhost","root","root") or die ("连接服务器失败".mysql_error()); //防止中文乱码 mysql_query("SET NAMES UTF8"); //2、选择数据库 mysql_select_db("test",$link) or die("选择数据库失败".mysql_error()); //3、执行sql 语句,插入数据库中的数据,也就是参数 $tel = $_POST["tel"]; $pwd = $_POST["pwd"]; //判断手机号是否重复 $insert = "select * from t_user where user_phone = '$tel'"; $result = mysql_query($insert); //mysql_num_rows 从查询到的结果集中返回与条件匹配的行数 $rows = mysql_num_rows($result); if($rows == 1){ //该手机号巳经存在,直接输出注册失败的结果 $json = json_encode(array( "resultCode"=>500, "message"=>"你的手机号巳被注册,请重新输入!" )); echo($json); }else{ //可以注册 $insert = "insert into t_user(user_phone,user_password)values('$tel','$pwd')"; //mysql_query 执行除查询外的其它语句,比如,增,删,改时,返回的是布尔类型 $result = mysql_query($insert); //mysql_affected_rows针对insert ,update,delete时,返回受影响的行数。如果新增一条数据,那么这个值就会返回1.可以通过判断这个值,可以确定是否新增成功 $rows = mysql_affected_rows(); //4、获取执行结果 if($rows == 1){ //注册成功 $json = json_encode(array( "resultCode"=>200, "message"=>"注册成功!" )); echo($json); }else{ //注册失败 $json = json_encode(array( "resultCode"=>500, "message"=>"注册失败!" )); echo($json); } } //5、关闭服务器 mysql_close($link); ?>
post接口在本地进行测试的,因此它的接口为:http://localhost/registered.php。
registered.php也就是上面的这段代码。
越努力,越幸运,坚持每天学习一小时,坚持每天吸收一个知识点。