PHP实现的注册,登录及查询用户资料功能API接口示例

2018-09-07 15:16

阅读:259

  本文实例讲述了PHP实现的注册,登录及查询用户资料功能API接口。分享给大家供大家参考,具体如下:

  服务端

   <?php require conn.php; header(Content-Type:text/html;charset=utf-8); $action = $_GET[action]; switch ($action) { //注册会员 caseadduserinfo; $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; //查询用户信息 caseselectuserinfo; $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; //会员登录 caseuserlogin; $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 =

  注:代码中的lib_replace_end_tag函数为自定义字符串过滤函数,具体可参考:浅析php过滤html字符串,防止SQL注入的方法

  更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+MySQL会员系统开发专题》、《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》

  希望本文所述对大家PHP程序设计有所帮助。


评论


亲,登录后才可以留言!