- 怎么今天使用的getuserprofile不能获取用户信息了?获取的都是空信息,以前都是好的
getUserProfile(e){ let that = this; wx.getUserProfile({ desc:'用于验证用户', success: (res) => { console.log(res.userInfo) var userInfo = res.userInfo that.setData({ userInfo:userInfo, nickName:userInfo.nickName, city:userInfo.city, province:userInfo.province, }) wx.request({ [图片] url: 'http://127.0.0.1/sqxt/login1.php', method: 'POST', data: { 'nickName': userInfo.nickName, 'city': userInfo.city, 'province': userInfo.province, }, header: { 'content-type': 'application/x-www-form-urlencoded' }, success(res) { console.log(res.data) if ("success" == res.data.replace(/^\s+|\s+$/g, '')) { wx.navigateTo({ url: '../sqxt/sqxt' }) } else if ("fail" == res.data.replace(/^\s+|\s+$/g, '') ) { wx.showModal({ title: '提示', content: '未授权用户,请联系管理员谢志奇获取授权,TEL:560155。', showCancel: "false", success(res) { console.log('用户点击确定'); wx.redirectTo({ url: '../login/login' }) } }) } } }) } }) },
2021-10-21 - 获取用户信息的几个函数都试过了 ,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.wxml代码如下: <view> <view class="login-icon"> <image class="login-img" src="../../image/11.png"></image> </view> <view class="usermotto"> <text class="user-motto">{{motto}}</text> <form bindsubmit='login'> <view class="first"> <input id="username" placeholder="请输入用户名" placeholder-class="plas" class="inputs" type="text" name="username" value="{{strloginUser}}"></input> </view> <view class="second"> <input id="password" placeholder="请输入密码" placeholder-class="plas" class="inputs" type="password" name="password" value="{{strloginpassword}}"></input> </view> <view class="{{RemberPass}}" style="width:30%;text- align:left;margin-left:40rpx;float:left;font-size:13px;margin- top:20rpx;margin-bottom:20rpx;"> <switch type="checkbox" checked="{{switchChecked}}" bindswitcheck="switchChecked" bindchange="bindswitchchange" style="transform:scale(0.8)"/>记住密码 </view> <view> <button class="loginBtn" type="primary" form-type='submit'>登录 </button> </view> </form> </view> </view> login.js代码如下: const app = getApp(); Page({ data: { motto: '欢迎访问', username:'', password:'', strloginUser:'',//登录用户名 strloginpassword:'',//用户密码 checkedValue:'',//选中按钮 }, login: function (e) { var me = this; 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', method: 'POST', data: { 'username': e.detail.value.username, 'password': e.detail.value.password }, header: { 'content-type': 'application/x-www-form-urlencoded' }, success(res) { console.log(res.data) if ("success" == res.data.replace(/^\s+|\s+$/g, '') ) { wx.navigateTo({ url: '../sqxt/sqxt' }) } else if ("name or password is wrong" == res.data.replace(/^\s+| \s+$/g, '')) { wx.showModal({ title: '提示', content: '用户名为空或用户名、密码错误,请联系管理员,TEL:560155。', showCancel: "false", success(res) { console.log('用户点击确定'); wx.redirectTo({ url: '../login/login' }) } }) } } }) }, //获取用户名 loginUser(e) { this.setData({ strloginUser: e.detail.value }) }, //获取密码 loginpassword(e) { this.setData({ strloginpassword: e.detail.value }) }, //加载缓存的密码 onLoad: function (options) { var _this = this; _this.setData({ strloginUser: wx.getStorageSync("strloginUser"), strloginpassword: wx.getStorageSync("strloginpassword"), switchChecked:wx.getStorageSync('checkedValue') }) }, //判断是否要记住密码 bindswitchchange: function (event) { //得到值 var checkedValue = event.detail.value; // console.log(checkedValue); var _this = this; if (checkedValue == true){ _this.setData({ switchChecked:true, }) console.log(checkedValue); } else if (checkedValue == false) { _this.setData({ switchChecked: false }) } }, //登录缓存密码 LoginForm: function (e) { //登录加载效果 var that = this; var checkedValue = that.data.switchChecked; console.log(checkedValue); //如果记住密码则向微信缓存写入账号密码 //如果不记住密码则清空微信缓存存在的账号密码 if (checkedValue == true) { wx.setStorageSync("strloginUser",that.data.strloginUser); wx.setStorageSync("strloginpassword",that.data.strloginpassword); wx.setStorageSync("checkedValue", that.data.switchChecked); } else if (checkedValue == false) { wx.setStorageSync("strloginUser",""); wx.setStorageSync("strloginpassword",""); } }, })
2021-06-01 - 小程序如何用户名和密码登录 与后台数据库交互验证 ?急!
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 - 微信小程序安全访问问题?
如何使开发的小程序只让公司人员来访问,请问小程序如何绑定微信号?符合后台数据库的微信号就可以访问,反之则不能访问,现在是任何人都可以访问 只要转发出去,请问这个如何限制,公司的人比较多可能有上百人
2020-10-13