Maison >développement back-end >tutoriel php >Interface API pour les fonctions d'enregistrement, de connexion et de requête d'informations utilisateur implémentées en PHP
Cet article présente principalement l'interface API de requête d'enregistrement, de connexion et d'informations utilisateur implémentée par PHP. Il analyse la mise en œuvre des fonctions de requête de enregistrement des utilisateurs côté serveur PHP, de connexion, de requête et de connexion curl basées sur Des exemples spécifiques. Pour obtenir des conseils, les amis dans le besoin peuvent se référer à
Cet article décrit l'interface API de la fonction d'enregistrement, de connexion et de requête d'informations utilisateur implémentée par PHP. Partagez-le avec tout le monde pour votre référence, comme suit :
Serveur
<?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)); } ?>
Exemple de client :
<?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))); ?>
Remarque : La fonction dans le code lib_replace_end_tag
est une fonction de filtrage de chaîne personnalisée. Pour plus de détails, veuillez vous référer. à : Une brève analyse sur la façon de filtrer les chaînes HTML en php et d'empêcher l'injection SQL
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!