前言:
之前做过网站的开发,服务端为了简单、快速上岗,使用XAMPP集成包中的Apache+Mysql,后端语言是用的PHP。这个组合是真的好用,PHP世界上最好的语言。今天又是一次历史上的时刻,微信小程序都是自学的,也知道怎么与服务端数据交互了。感谢一些优秀博主的优秀博客,给了我通往成功的捷径。
一、开启XAMPP中的服务:
二、wx上的界面:
点击登录按钮的逻辑代码如下:
//点击登录 函数
register:function(){
wx.request({
/*
url路径,就是你的PHP文件在那里,这里也用的是绝对路径
*/
url: 'http://localhost/php/member/checkLogin.php', //
//向服务器存放数据的地方
data:{
tel:'13876762323', //测试的用户名,请与服务端PHP中的名称一致
password:'654321',
},
method:'GET', //这里好像不支持POST请求,POST请求会失败,原因还不明白
header:{
'content-type':'application/json' //默认设置
},
success:function(res){
//返回的res已经是JSON格式的数据了,因为在服务端用PHP进行了JSON编码
var obj = JSON.stringify(res) //将服务器返回的JSON对象解析成字符串
//JSON.parse()是将字符串组成JSON格式的数据
var resData = JSON.stringify(res.data) //将返回的data解析
console.log(res.data) //返回JSON对象的子级JSON对象
console.log(obj) //查看服务端返回的JSON对象有那些,发现有很多个JSON对象
console.log(res.statusCode)
console.log(res.errMsg)
if (res.data.icode == -1){
wx.showToast({
icon:'none',
title: '用户没有注册!',
})
}
else if (res.data.icode == 1){
wx.showToast({
icon: 'none',
title: '用户名、密码正确!',
})
}
else{
wx.showToast({
icon: 'none',
title: '用户名、密码错误!',
})
}
},
fail:function(res){
wx.showToast({
title: "网络请求失败" + res.errMsg,
icon:'none'
})
},
})
},
功能点击按钮进行数据交互,服务端进行分析判断。查看用户信息是否在数据表中、若在数据表中,密码是否正确。并返回JSON型的数据结果。由于自己也是初学,为了方便把要发送的数据直接写在JS代码data中。
三、服务端PHP代码如下:
<?php
//连接数据库
require_once ('sql_connect.php');
?>
<?php
header("Content-Type:text/html;charset=utf-8");
mysqli_set_charset($conn,'utf8');
//结果数组
$response = array();
//用户是否已经注册的SQL语句
$sql = "select * from users where exists (select * from users where binary tel = '".$_GET["tel"]."')";
$result = mysqli_query($conn,$sql);
//判断用户是否注册
if(mysqli_num_rows($result) > 0){
//判断用户名、密码是否正确
$sql = "select * from users where binary tel = '".$_GET["tel"]."' and binary password = '".$_GET["password"]."'";
$result = mysqli_query($conn,$sql);
//如果用户名、密码正确
if(mysqli_num_rows($result) == 1){
//返回结果
$response["icode"] = 1;
echo json_encode($response,JSON_UNESCAPED_UNICODE);
//echo "<center>模拟登录成功<center/>";
}else{
//用户名、密码错误
$response["icode"] = 0;
echo json_encode($response,JSON_UNESCAPED_UNICODE);
//echo "<center>密码输入错误<center/>";
}
}else{
//如果用户没用注册,返回结果
$response["icode"] = -1;
echo json_encode($response,JSON_UNESCAPED_UNICODE);
//echo "<center>该用户不存在<center/>";
}
$conn->close();
?>
四、数据表信息如下:
五、测试结果
1、账户、密码都正确
2、账户在数据表中,不存在
3、密码输入错误