yzwb,杨美娜中国新歌声,婆婆来了下载
本文实例讲述了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 date_default_timezone_set()设置时区操作实例分析
网友评论