本文实例讲述了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("xefxbbxbf", '', $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程序设计有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!