[图片][图片]
获取用户信息的几个函数都试过了 ,PC端开发工具测试可以通过但是到真机实验和发布之后就无法通过?wxml中 <view> <button class="loginBtn" type="primary" open-type="getUserInfo" bindgetuserinfo="getUserProfile">授权VIP用户登录(免密)</button> </view> js中 getUserProfile(e){ var nickName=e.detail.userInfo.nickName; var city=e.detail.userInfo.city; var province=e.detail.userInfo.province; console.log(nickName); console.log(city); console.log(province); wx.request({ url: 'https://xzq79.xiaomy.net/sqxt/login1.php', //url: 'http://127.0.0.1/sqxt/login1.php', method: 'POST', data: { 'nickName': e.detail.userInfo.nickName, 'city': e.detail.userInfo.city, 'province': e.detail.userInfo.province, }, header: { 'content-type': 'application/x-www-form-urlencoded' }, success(res) { console.log(res.data) if ("success" ) { wx.navigateTo({ url: '../sqxt/sqxt' }) } else if ("fail") { wx.showModal({ title: '提示', content: '未授权用户,请联系管理员', showCancel: "false", success(res) { console.log('用户点击确定'); wx.redirectTo({ url: '../login/login' }) } }) } } }) }, 其中getUserProfile换成bindGetUserInfo和handleUserInfo 都可以在PC端调试通过,就是获取用户昵称、城市、省份与数据库里信息对应 不输入密码直接到下一页 e而在真机调试时显示触发的button没有获取到用户信息
2021-07-26输入用户名和密码之后 一直抱着个错 [图片] [图片]
小程序如何用户名和密码登录 与后台数据库交互验证 ?急!login.js Page({ /** * 页面的初始数据 */ data: { }, // 点击登录按钮后,触发此login方法 login: function (e) { var me = this; // 获取前台form表单传递过来的信息, // e.detail.value.xxx:xxx为name属性的值 var formObject = e.detail.value; console.log(e.detail); var username = formObject.username; var password = formObject.password; console.log("username..." + username); console.log("password....." + password); // 发起网络请求 wx.request({ url: 'http://127.0.0.1/sqxt/login.php', // 声明请求方式为 POST 请求 method: 'POST', // 向后台传递的数据:用户名、密码(通过e.detail.value.xxx获取input输入框输入的值) data: { 'username': e.detail.value.username, 'password': e.detail.value.password }, // POST请求,则header声明为如下: // 若为 GET请求,则header内声明为'content-type': 'application/json' header: { 'content-type': 'application/x-www-form-urlencoded' }, // 接口请求成功的返回数据 success(res) { console.log(res.data); // 如果后台返回的数据为 "普通用户登录成功",则跳转到用户首页 if ("普通用户登录成功" == res.data) { wx.switchTab({ url: '../sqxt/sqxt' }) } else if ("管理员登录成功" == res.data) { // 如果后台返回的数据为 "普通用户登录成功",则跳转到管理员首页 wx.switchTab({ url: '../sqxt/sqxt' }) } else if ("用户名或密码错误" == res.data) { // 如果后台返回的数据为 "用户名或密码错误",则模态弹框,然后跳转到登录界面 wx.showModal({ title: '提示', content: '用户名或密码错误', showCancel: "false", success: function (res) { if (res.confirm) { console.log('用户点击确定'); wx.redirectTo({ url: '../login/login' }) } } }) } } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } }) login.wxml <view> <form bindsubmit='login'> <view class="first"> <input id="username" placeholder="请输入用户名" placeholder-class="plas" class="inputs" type="text" name="username"></input> </view> <view class="second"> <input id="password" placeholder="请输入密码" placeholder-class="plas" class="inputs" type="password" name="password"></input> </view> <!--按钮--> <view> <button class="loginBtn" type="primary" form-type='submit'>登录</button> </view> </form> </view> login.php <?php header("Content-Type: text/html; charset=utf8"); $name=$_POST['username'];//post获取表单里的name $password=md5($_POST['password']);//post获取表单里的password include('connect.php');//链接数据库 $q="select * from `user` where `username` = '$name' and `password` = '$password'";//向数据库查询表单传来的值的sql $con->query('SET NAMES UTF8'); $result = $con->query($q);// 执行 sql // 获取执行 sql 后的返回对象 $obj=$result->fetch_assoc(); if (mysqli_num_rows($result) > 0){ // 管理员 if($obj["role"] == '1'){ echo"管理员登录成功"; }else{ echo"普通用户登录成功"; } }else{ echo "用户名或密码错误"; } $con->close();//关闭数据库 ?> connect.php <?php $server = "127.0.0.1";//主机 $db_username = "root";//你的数据库用户名 $db_password = "3021";//你的数据库密码 $db_name = "user";//你的数据库密码 $con = new mysqli($server, $db_username, $db_password,$db_name);//链接数据库 // 检测连接 if (!$con) { die("Connection failed: " . mysqli_connect_error()); } //echo "连接成功"; ?>
2020-10-29