Home > Article > Backend Development > API interface for registration, login and user information query functions implemented in PHP
This article mainly introduces the registration, login and user information query API interface implemented by PHP, and analyzes the implementation of the PHP server-side user registration, login, query and curl login query functions based on specific examples. For tips, friends who need them can refer to
. The example in this article describes the registration, login and user information query API interface implemented by PHP. Share it with everyone for your reference, the details are as follows:
Server
<?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)); } ?>
Client example:
<?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))); ?>
Note: The lib_replace_end_tag function in the
code is a custom string filtering function. For details, please refer to: A brief analysis of how to filter html strings in php and prevent SQL injection
The above is the detailed content of API interface for registration, login and user information query functions implemented in PHP. For more information, please follow other related articles on the PHP Chinese website!