php实现微信小程序登陆功能

PHP实现微信小程序登陆功能

简单的写了一个小程序的登陆功能,做的可能不是太好,但是对于新手的话可以很好的理解,非常适合新手入门的一篇文章,废话不多说直接上代码

.wxml
<form bindsubmit="login">
  <view style="float:left;margin-left:15rpx">账号:</view><input style="border:1px solid #ccc" type="text" placeholder="请输入账号" name="username"></input>
  <view style="float:left;margin-left:15rpx">密码:</view><input style="border:1px solid #ccc" type="password" placeholder="请输入密码" name="password"></input>
  <button form-type="submit">登陆</button>
</form>

我这里就没坐什么美化 代码粘贴上去就能用

.js

Page({
  data: {
  },
  login:function(e){
    wx.request({
      url: 'http://127.0.0.1/login.php',//不要用localhost必须用127.0.0.1来访问--本地不支持HTTPS
      method:"get",
      header: {
        'content-type': 'application/json'
      },
      data:{
        "username": e.detail.value.username,
        "password" : e.detail.value.password
      },
      success(res) {
        if (res.data['0'].uid != undefined && res.data['0'].uname == e.detail.value.username){
          wx.showToast({
            title: '登陆成功',
            icon: 'none'
          })
        }else{
          wx.showToast({
            title: '登陆失败',
            icon: 'none'
          })
        }
      }
    })
    console.log("账号",e.detail.value.username)
    console.log("密码", e.detail.value.password)
  }
})

本地测试的话记得把不校验合法域名开了
在这里插入图片描述
接下来就是PHP代码 我的PHP文件名叫login.php
.php

<?php
	header('content-type:text/html;charset=utf-8');
	try{
		$link = new PDO('mysql:host=localhost;port=3306;dbname=wt_kp5b','root','123456');//数据库名什么的记得改成你自己的
		$link->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
	}catch(PDOException $e){
		die('数据库连接出错:'.$e->getMessage());
	}
	$sql = 'select * from wt_user where uname=? and upwd=?';
	try{
			$stmt = $link->prepare($sql);
			$stmt->execute([$_GET['username'],$_GET['password']]);//因为只是写个教程后台没用MD5加密
			if($stmt->rowCount() != 1){
				echo "用户名或密码不正确";
			}else{
				$row = $stmt->fetch(PDO::FETCH_ASSOC);
				$_SESSION['uid'] = $row['uid'];
				$_SESSION['uname'] = $row['uname'];
				echo json_encode($row);//要转成json格式给小程序才可以
			}
		}catch(PDOException $e){
			die('用户登陆查询出错:'.$e->getMessage());
	}
?>

我把我写的数据库也给你们

create database wt_kp5b;
use wt_kp5b;
create table wt_user(
uid int PRIMARY KEY AUTO_INCREMENT
,uname varchar(22) not null
,upwd varchar(22) not null
);
insert into wt_user values('1','wangtuo','123456');

非常适合刚入门的进行学习,有什么问题欢迎评论留言,我会及时回复你的。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值