Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序+PHP实现登录注册(手把手教程)[通俗易懂]

微信小程序+PHP实现登录注册(手把手教程)[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-30 06:43:56
发布于 2022-09-30 06:43:56
2.8K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1.环境说明

环境版本

  • PHP版本号:PHP7(!!!!注意本文基于PHP7环境开发,PHP5与PHP7有很多语法不兼容,如果您的本地环境为PHP5,则需修改PHP代码中不兼容语法部分
  • MySQL版本号:5.7.26

开发工具

  • PhPstudy 8.1.0.5
  • 微信开发者工具
  • Navicat12

2.创建 user 表

首先创建用户表,这里以 Navicat 工具为例

2.1 新建数据库

如果是第一次使用 Navicat,需要新建连接

  1. 点击左上角的 连接 -> 选择 MySQL
  1. 设置连接属性

这里需要注意的是:如果本机已安装了 MySQL,而安装 PhPstudy 时又安装了 PhPstudy 自带的 MySQL,这里如果想要连接 PHPstudy 安装时带的 MySQL,就需输入 PHPstudy 安装时带的 MySQL 的密码,参考链接:https://blog.csdn.net/weixin_46034990/article/details/104742459

2.1.1 选择连接右键 -> 新建数据库:

2.1.2 输入数据库信息:

2.2 导入 SQL 语句

在新建的数据库右键 -> 选择新建查询

将如下 SQL 复制粘贴到新建查询页面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* Navicat Premium Data Transfer Source Server : phpstudy Source Server Type : MySQL Source Server Version : 50726 Source Host : localhost:3306 Source Schema : tea_work Target Server Type : MySQL Target Server Version : 50726 File Encoding : 65001 Date: 07/06/2020 13:19:49 */
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_user
-- ----------------------------
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user`  (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`role` int(2) NULL DEFAULT 0,
`RFID` int(8) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 36 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES (1, 'bbb', '08f8e0260c64418510cefb2b06eee5cd', 'bbb@163.com', '12222222222', 0, NULL);

然后点击运行按钮,执行建表语句,创建 tb_user

3.小程序前台部分

3.1 登录部分

3.1.1 登录界面
3.1.2 登录代码
wxml——类似 HTML

注意:

  1. form 标签的 bindsubmit='login' 表示提交此表单后触发 login 方法。
  2. inputname="xxx" 属性要与 js 中的 e.detail.value.xxx 相对应。
  3. 一定要有一个 <button form-type='submit'> 按钮,点击此按钮后会提交表单,触发 login 方法。
  4. 所有标签的 class 属性均是为了调节样式使用,如不追求页面美观,可不添加 class="xxx"
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--pages/login/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>
<view class="cha" bindtap="enroll"><text class="no">没有账号,点我注册</text></view>
</form>
</view>
wxss——类似 CSS

为了调节前台显示样式使用的,为了美观效果,与功能实现无关

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* pages/login/login.wxss */
page{ 

left:10rpx;
right:10rpx;
background-color: white;
}
.first{ 

width: 90%;
height: 100rpx;
margin-top: 80rpx;
margin-left: 5%;
margin-right: 5%;
/* 排列方式 */
display: flex;
/* 纵向排列 */
flex-direction: row;
align-items: center;
background-color: #f2f2f2;
border-radius: 8rpx;
}
.plas{ 

font-size: 30rpx;
color: #ccc;
}
.inputs{ 

/* 行高 */
line-height: 100rpx;
font-size: 30rpx;
color: #000;
margin:auto;
margin-left: 20rpx;
width: 100%;
}
.second{ 

width: 90%;
height: 100rpx;
margin-top: 30rpx;
margin-left: 5%;
margin-right: 5%;
/* 排列方式 */
display: flex;
/* 纵向排列 */
flex-direction: row;
align-items: center;
background-color: #f2f2f2;
border-radius: 8rpx;
}
.cha{ 

width: 90%;
height: 50rpx;
margin: auto;
margin-top: 30rpx;
margin-left: 5%;
margin-right: 5%;
}
.no{ 

color: black;
font-size: 28rpx;
margin-left: 15rpx;
font-family: PingFangSC-regular;
}
json——公共配置

通用配置,比如用来调节小程序上栏标题及背景颜色,可以不写。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ 

"usingComponents": { 
},
"navigationBarBackgroundColor":"#349e20",
"navigationBarTitleText": "用户登录",
"navigationBarTextStyle":"black"
}
js——重点部分

1. const app = getApp();:为了获取 app.js 声明的全局变量 globalData,如果无需获取全局变量,则可以不引入此条语句。 2. const util = require('../../utils/util.js');:为了获取 util.js 内声明的变量,比如我这里将 url 的公共前缀部分声明在了 util.js 里面,每次要发起请求访问后台时,都需获取这个公共前缀,然后进行拼接:url: util.basePath + '/app/user-list.php',。(也可以直接声明为:url:http://192.168.0.105:8888/tea_work/app/user-list.php,就无需引入此 util.js 了)

3. const { $Toast } = require('../../dist/base/index');为了其他额外功能,如不需要,则可以不引用。

login.js

具体看代码内的注释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// pages/login/login.js
const app = getApp();
const util = require('../../utils/util.js');
const { 
 $Toast } = require('../../dist/base/index');
Page({ 

/** * 页面的初始数据 */
data: { 

},
// 点击“注册”后触发 enroll 方法,跳转到 enroll 模块
enroll: function (e) { 

// 发起网络请求
wx.navigateTo({ 

// 开发者服务器接口地址
url: '/pages/enroll/enroll',
})
},
// 点击登录按钮后,触发此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: util.basePath + '/app/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: '../index/index'
})
} else if ("管理员登录成功" == res.data) { 

// 如果后台返回的数据为 "普通用户登录成功",则跳转到管理员首页
wx.switchTab({ 

url: '../index/index'
})
} 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 () { 

}
})
uitl.js

login.js 中引入的 utils/util.js: 主要使用的为 const basePath = 'http://localhost:8888/tea_work'; 这一行代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const basePath = 'http://localhost:8888/tea_work';
function formatTime(date) { 

var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var hour = date.getHours()
var minute = date.getMinutes()
var second = date.getSeconds()
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
function formatNumber(n) { 

n = n.toString()
return n[1] ? n : '0' + n
}
/** * 封封微信的的request */
function request(url, data = { 
}, method = "POST", header = "application/x-www-form-urlencoded") { 

wx.showLoading({ 

title: '加载中...',
});
return new Promise(function (resolve, reject) { 

wx.request({ 

url: url,
data: data,
method: method,
header: { 

'Content-Type': header,
'X-Nideshop-Token': wx.getStorageSync('token'),
},
success: function (res) { 

wx.hideLoading();
if (res.statusCode == 200) { 

if (res.data.errno == 401) { 

wx.navigateTo({ 

url: '/pages/auth/btnAuth/btnAuth',
})
} else { 

resolve(res.data);
}
} else { 

reject(res.errMsg);
}
},
fail: function (err) { 

reject(err)
}
})
});
}
// 时间戳转换成刚刚、几分钟前、几小时前、几天前
//刚刚
var just = new Date().getTime();
//几分钟前
var afewminutesago = new Date("Nov 29, 2016 00:50:00").getTime();
//几周前
var afewweekago = new Date("Nov 29, 2016 00:50:00").getTime();
//几年前
var someday = new Date("Nov 21, 2012 01:15:00").getTime();
var helloData = { 

time: afewweekago
}
function getDateDiff(date) { 

date = date.substring(0, 19);
date = date.replace(/-/g, '/');
var dateTimeStamp = new Date(date).getTime();
var result;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) { 

return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (monthC >= 1) { 

if (monthC <= 12)
result = "" + parseInt(monthC) + "月前";
else { 

result = "" + parseInt(monthC / 12) + "年前";
}
}
else if (weekC >= 1) { 

result = "" + parseInt(weekC) + "周前";
}
else if (dayC >= 1) { 

result = "" + parseInt(dayC) + "天前";
}
else if (hourC >= 1) { 

result = "" + parseInt(hourC) + "小时前";
}
else if (minC >= 1) { 

result = "" + parseInt(minC) + "分钟前";
} else { 

result = "刚刚";
}
return result;
};
module.exports = { 

formatTime,
basePath,
getDateDiff
}
index.js

login.js 中引入的 dist/base/index.js: (可以不添加)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getCtx (selector) { 

const pages = getCurrentPages();
const ctx = pages[pages.length - 1];
const componentCtx = ctx.selectComponent(selector);
if (!componentCtx) { 

console.error('无法找到对应的组件,请按文档说明使用组件');
return null;
}
return componentCtx;
}
function Toast(options) { 

const { 
 selector = '#toast' } = options;
const ctx = getCtx(selector);
ctx.handleShow(options);
}
Toast.hide = function (selector = '#toast') { 

const ctx = getCtx(selector);
ctx.handleHide();
};
function Message(options) { 

const { 
 selector = '#message' } = options;
const ctx = getCtx(selector);
ctx.handleShow(options);
}
module.exports = { 

$Toast: Toast,
$Message: Message
};

3.2 注册部分

3.2.1 注册界面
3.2.2 注册代码
enroll.wxml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--pages/enroll/enroll.wxml-->
<form bindsubmit="regist">
<view>
<view class="first">
<input id="username" placeholder="请输入用户名" placeholder-class="plas" class="inputs" type="text" bindinput="usernameInput" name="username"></input>
</view>
<view class="second">
<input id="password" placeholder="请输入密码" placeholder-class="plas" class="inputs" type="password" bindinput="passwordInput" name="password"></input>
</view>
<view class="second">
<input id="passwordAck" placeholder="请再次输入密码" placeholder-class="plas" class="inputs" type="password" bindinput="passwordInputAck"></input>
</view>
<view class="second">
<input id="email" placeholder="请输入邮箱" placeholder-class="plas" class="inputs" type="email" bindinput="emailInput" name="email"></input>
</view>
<view class="second">
<input id="phoneNumber" placeholder="请输入手机号" placeholder-class="plas" class="inputs" type="number" bindinput="phoneNumberInput" name="phone"></input>
</view>
<view class="second">
<input id="role" placeholder="角色" placeholder-class="plas" class="inputs" type="number" bindinput="roleInput" name="role"></input>
</view>
<!-- <view id="btn" class="click" bindtap="regist"><input type="submit">注册</input></view> -->
<view>
<button class="click" type="primary" form-type='submit'>注册</button>
</view>
<view class="cha" bindtap="signin"><text class="no">已有账号,点我登录</text></view>
</view>
</form>
enroll.wxss
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* pages/enroll/enroll.wxss */
page{ 

left:10rpx;
right:10rpx;
background-color: white;
}
.first{ 

width: 90%;
height: 100rpx;
margin-top: 80rpx;
margin-left: 5%;
margin-right: 5%;
/* 排列方式 */
display: flex;
/* 纵向排列 */
flex-direction: row;
align-items: center;
background-color: #f2f2f2;
border-radius: 8rpx;
}
.plas{ 

font-size: 30rpx;
color: #ccc;
}
.inputs{ 

/* 行高 */
line-height: 100rpx;
font-size: 30rpx;
color: #000;
margin:auto;
margin-left: 20rpx;
width: 100%;
}
.second{ 

width: 90%;
height: 100rpx;
margin-top: 30rpx;
margin-left: 5%;
margin-right: 5%;
/* 排列方式 */
display: flex;
/* 纵向排列 */
flex-direction: row;
align-items: center;
background-color: #f2f2f2;
border-radius: 8rpx;
}
.click{ 

width: 90%;
height: 100rpx;
line-height: 100rpx;
margin:auto;
margin-top: 80rpx;
background-color: #43CD80;
border-radius: 8rpx;
text-align: center;
color: white;
font-size: 33rpx;
}
.cha{ 

width: 90%;
height: 50rpx;
margin: auto;
margin-top: 30rpx;
margin-left: 5%;
margin-right: 5%;
}
.no{ 

color: black;
font-size: 28rpx;
margin-left: 15rpx;
font-family: PingFangSC-regular;
}
enroll.js
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// pages/enroll/enroll.js
const app = getApp();
const util = require('../../utils/util.js');
const { 
 $Toast } = require('../../dist/base/index');
Page({ 

/** * 页面的初始数据 */
data: { 

// 定义变量用来存储input输入的值
username:"",
password:"",
passwordAck:"",
email:"",
phoneNumber:"",
role:""
},
signin:function(e){ 

//关闭当前页面,返回上一页面或多级页面。
wx.navigateBack({ 

// 返回上 1 页
delta: 1
})
},
// 注册
regist:function(e){ 

var that = this;
if(that.data.username == ''){ 

wx.showModal({ 

title: '提示',
content: '请输入用户名',
showCancel:false,
success (res) { 

}
})
}else if(that.data.password == ''){ 

wx.showModal({ 

title: '提示',
content: '请输入密码',
showCancel:false,
success (res) { 

}
})
}else if(that.data.passwordAck == ''){ 

wx.showModal({ 

title: '提示',
content: '请再次输入密码',
showCancel:false,
success (res) { 

}
})
}else if(that.data.passwordAck != that.data.password){ 

wx.showModal({ 

title: '提示',
content: '两次密码输入不一致',
showCancel:false,
success (res) { 

}
})
}else if(that.data.email == ''){ 

wx.showModal({ 

title: '提示',
content: '请输入邮箱',
showCancel:false,
success (res) { 

}
})
}else if(that.data.phoneNumber == ''){ 

wx.showModal({ 

title: '提示',
content: '请输入手机号',
showCancel:false,
success (res) { 

}
})
}else if(that.data.phoneNumber.length != 11){ 

wx.showModal({ 

title: '提示',
content: '手机号位数不正确,请重新输入',
showCancel:false,
success (res) { 

}
})
}else if(that.data.phoneNumber.length != 11){ 

wx.showModal({ 

title: '提示',
content: '手机号不合法',
showCancel:false,
success (res) { 

}
})
}else if(that.data.role == ''){ 

wx.showModal({ 

title: '提示',
content: '请输入角色',
showCancel:false,
success (res) { 

}
})
}else{ 

wx.request({ 

url: util.basePath + '/app/register.php', 
method:"POST",
data: { 

'username':e.detail.value.username,
'password':e.detail.value.password,
'email':e.detail.value.email,
'phone':e.detail.value.phone,
'role':e.detail.value.role,
},
header: { 

'content-type': 'application/x-www-form-urlencoded'  
},
success (res) { 

console.log(res.data);
}
})
}
},
// 每当 input 发生改变,触发这个方法
usernameInput:function(e){ 

// 获取 input 输入框的值
this.data.username = e.detail.value;
},
passwordInput:function(e){ 

// 获取 input 输入框的值
this.data.password = e.detail.value;
},
passwordInputAck:function(e){ 

// 获取 input 输入框的值
this.data.passwordAck = e.detail.value;
},
emailInput:function(e){ 

// 获取 input 输入框的值
this.data.email = e.detail.value;
},
phoneNumberInput:function(e){ 

// 获取 input 输入框的值
this.data.phoneNumber = e.detail.value;
},
roleInput:function(e){ 

// 获取 input 输入框的值
this.data.role = e.detail.value;
},
/** * 生命周期函数--监听页面加载 */
onLoad: function (options) { 

},
/** * 生命周期函数--监听页面初次渲染完成 */
onReady: function () { 

},
/** * 生命周期函数--监听页面显示 */
onShow: function () { 

},
/** * 生命周期函数--监听页面隐藏 */
onHide: function () { 

},
/** * 生命周期函数--监听页面卸载 */
onUnload: function () { 

},
/** * 页面相关事件处理函数--监听用户下拉动作 */
onPullDownRefresh: function () { 

},
/** * 页面上拉触底事件的处理函数 */
onReachBottom: function () { 

},
/** * 用户点击右上角分享 */
onShareAppMessage: function () { 

}
})

4.PHP后台代码

如果本地没有PHP环境,要先使用 phpStudy 一键搭建PHP开发环境

4.1 连接数据库部分

connect.php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$server = "localhost";//主机
$db_username = "root";//你的数据库用户名
$db_password = "root";//你的数据库密码
$db_name = "tea_work";//你的数据库密码
$con = new mysqli($server, $db_username, $db_password,$db_name);//链接数据库
// 检测连接
if (!$con) { 

die("Connection failed: " . mysqli_connect_error());
}
//echo "连接成功";
?>

4.2 登录部分

login.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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 `tb_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();//关闭数据库
?>

4.3 注册部分

register.php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
header("Content-Type: text/html; charset=utf8");
$username=$_POST['username'];//post获取表单里的name
$password=md5($_POST['password']);//post获取表单里的password
$email=$_POST['email'];//post获取表单里的email
$phone=$_POST['phone'];//post获取表单里的phone
$role=$_POST['role'] ;//post获取表单里的role
include('connect.php');//链接数据库
$q="insert into tb_user(id,username,password,email,phone,role) values (null,'$username','$password','$email','$phone','$role')";//向数据库插入表单传来的值的sql
$reslut=$con->query($q);//执行sql
echo $q;
if (!$reslut){ 

echo "注册失败";
}else{ 

echo "注册成功";
}
$con->close()//关闭数据库
?>

补充:在小程序开发工具内进行本地调试(即请求url为127.0.0.1://xxx或localhost://xxx)时,如果出现如下报错信息: http://127.0.0.1 不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

解决方法:勾选如下选项即可。

补充注意

对于纯小白的新手,一定要先按照此教程顺序,从上到下依次执行,不要做任何修改,先跑通这个 demo,在这个过程中熟悉字段与属性的对应关系。 看到成功的效果后,再考虑在这个 demo 的基础上进行修改,添加或删除字段,注意:如果修改数据库字段,一定要在代码中进行全局搜索,找到对应字段的位置,进行相应的修改或删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192875.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月16日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
麒麟系统安装打印机共享_银河麒麟 惠普打印机驱动怎么安装
相信很多小伙伴在日常办公中都会用到打印机,如果我们想要在电脑中安装打印驱动该怎么做呢?方法很简单,下面小编就来为大家介绍
全栈程序员站长
2022/08/31
4.4K0
计算机加密无法连接打印机,0x00000006无法连接打印机怎么办[通俗易懂]
WIN10作为主机共享的话要设置一下,具体如下,鼠标右击任务栏 网络 图标,在菜单中左键点击 打开网络和共享中心,鼠标左键点击打开窗口的左上角 更改高级共享设置,在打开的窗口中,鼠标左键点击 所有网络,选择
全栈程序员站长
2022/08/28
2.7K0
计算机加密无法连接打印机,0x00000006无法连接打印机怎么办[通俗易懂]
Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法
Windows 7 连接 Windows 10 共享打印机出现错误 0x000001b,建议不要通过卸载Windows10系统的KB5005565安全更新来解决该问题(犹如削足适履),正确的处理方法是手工添加一个本地打印机,本方法是安全可靠的。本文详述了该方法的操作步骤。
全栈程序员站长
2022/09/30
8.7K0
Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法
[Linux]SAMBA共享打印机
这里要提到的Samba可不是桑巴舞。Samba是一款可以在Linux和Windows之间通过SMB/CIFS(Server Message Block/Common Internet File System)共享文件和打印机的开源/免费套件。[1][2]
用户1685462
2021/07/27
2.6K0
打印机扫描smb错误_打印服务器错误不能提供打印
1、首先要检查打印机是否处于联机状态,如果打印机没有联机是无法进行工作的,检查打印机与电脑之间的连线是否正确。
全栈程序员站长
2022/11/03
5K0
Ubuntu 安装 HP 打印机、扫描仪驱动
  惠普打印机对于 Linux 平台的支持一向很好,官方给出来的支持列表如下(不要太全面):
zhonger
2022/10/28
3.3K0
打印机设置共享以及共享时无法连接,报错0X00000006解决方法[通俗易懂]
解决思路三: 尝试在Win7 64位系统和Win10系统上安装同一个驱动程序,彼此兼容就不会出现上面的错误问题了。
全栈程序员站长
2022/08/27
14.6K0
打印机设置共享以及共享时无法连接,报错0X00000006解决方法[通俗易懂]
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
原文:https://foxglovesecurity.com/2017/11/20/a-sheep-in-wolfs-clothing-finding-rce-in-hps-printer-fleet/
Seebug漏洞平台
2018/07/26
1.1K0
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
win10总显示打印机未连接服务器,win10安装打印机一直未响应。。。「建议收藏」
1.首先将打印机与电脑进行连接,目前大部分打印机都是通过USB数据线与电脑U口进行连接的。在打印机连接完成后,我们需要通过以下方法查看打印机连接状态是否正常:
全栈程序员站长
2022/09/06
3.8K0
win10总显示打印机未连接服务器,win10安装打印机一直未响应。。。「建议收藏」
win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]
win10系统查找打印机提示错误代码0x0000000d怎么办?此问题解决非常简单,只要“添加打印机”即可,下面有详细的安装步骤,一起看看吧!
全栈程序员站长
2022/08/27
1.7K0
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
原文:《A Sheep in Wolf’s Clothing – Finding RCE in HP’s Printer Fleet》
Seebug漏洞平台
2018/03/28
2K0
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
pantum打印机驱动安装m6506_打印机驱动怎么装(安装步骤)[通俗易懂]
  您可以先下载打印机的驱动,首先打开控制面板,然后双击控制面板中的打印机和传真图标,安装新打印机直接点左边的添加打印机,接着弹出添加打印机向导,系统将自动检测打印机类型。接下来详细介绍:
全栈程序员站长
2022/08/02
3.1K0
pantum打印机驱动安装m6506_打印机驱动怎么装(安装步骤)[通俗易懂]
共享打印机无法连接打印,错误代码0x0000011b_打印机共享错误0x000001
Win10电脑1直连的打印机,设备了共享。 从另一个电脑2访问电脑1的共享打印机,连接提示错误0x0000011b,如下:
全栈程序员站长
2022/09/30
1.4K0
共享打印机无法连接打印,错误代码0x0000011b_打印机共享错误0x000001
打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法…
如今大家在办公室中最常见的两样设备就数电脑和打印机了吧?办公人员对于打印机的使用是非常频繁的,每天都要使用。因此一旦打印机出现故障就会对我们的工作效率产生影响。近日有用户将电脑升级为win10之后发现自己的打印机不能正常的运行,每次点击打印之后就会出现:“无法连接到打印机,后台处理程序未运行”的提示。不知道你遇到这个故障的时候是如何解决的,若是还没有找到解决的方法可以使用下面的教程进行处理哦!
全栈程序员站长
2022/08/13
5.7K0
打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法…
怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
大家好,又见面了,我是你们的朋友全栈君。 我们有时候会在电脑中连接网络打印机来进行打印工作。可是有用户会遇到文件无法打印的问题。那么这个时候应该怎么检查电脑中是否已成功连接网络打印机?对此,我们可以参
全栈程序员站长
2022/08/25
5.4K0
怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
win10系统显示打印机未连接到服务器,Win10系统连接打印机显示未指定设备的解决教程…
–按键盘上的Windows徽标键+ R>在“运行”框中键入devmgmt.msc,然后按Enter键以打开“设备管理器”。
全栈程序员站长
2022/07/01
4.5K0
win10系统显示打印机未连接到服务器,Win10系统连接打印机显示未指定设备的解决教程…
利用Ubuntu主机搭建共享打印服务
实验室的打印机自带的无线打印功能不太好用, 基本上大家都处于一种时断时续的薛定谔状态, 惠普smart一次又一次的用行动证明了这玩意实在不是很smart, 所以用 linux 搭建一个共享打印机服务或许是个不错的选择.
叶子Tenney
2023/04/05
6.4K0
利用Ubuntu主机搭建共享打印服务
添加和共享打印机的方法是_按名称选择共享打印机输入什么
在 Windows 10 中,可以将打印机共享给网络上的多台电脑。若要从连接到打印机的电脑(主要电脑)共享打印机至未连接到打印机的辅助电脑,你必须设置共享打印机设置、将打印机连接到主要电脑(或者以无线方式或使用 USB 电缆),然后打开打印机。另外,请确保主电脑已打开、连接到打印机并连接到网络。
全栈程序员站长
2022/11/15
4.7K0
添加和共享打印机的方法是_按名称选择共享打印机输入什么
win10共享打印错误0x0000006_win7打印机共享错误0x000006,连接成功,打印测试报错…[通俗易懂]
win7打印机共享出现错误0x000006,建议一直按住左shift键,然后点击电源的重启,疑难解答-高级选项-启动设置-重启,选择4或者F进入安全模式,在安全模式下将第三方优化软件卸载,清理磁盘。然后回到正常模式,开启上面所述的服务,启动server服务,再次设置打印机共享。
全栈程序员站长
2022/08/27
2.2K0
共享打印机无法连接到打印机0x00000bcb_共享打印机错误为0X0000011b
  有不少用户遇到了网络共享打印机无法连接的问题,尤其是Win10最常遇见,打印机后提示“windows无法连接到打印机0x0000011b”错误。下面系统之家小编给大家带来0x0000011b共享打印机无法连接解决方法。一起来看看吧。
全栈程序员站长
2022/10/03
2.9K0
共享打印机无法连接到打印机0x00000bcb_共享打印机错误为0X0000011b
推荐阅读
麒麟系统安装打印机共享_银河麒麟 惠普打印机驱动怎么安装
4.4K0
计算机加密无法连接打印机,0x00000006无法连接打印机怎么办[通俗易懂]
2.7K0
Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法
8.7K0
[Linux]SAMBA共享打印机
2.6K0
打印机扫描smb错误_打印服务器错误不能提供打印
5K0
Ubuntu 安装 HP 打印机、扫描仪驱动
3.3K0
打印机设置共享以及共享时无法连接,报错0X00000006解决方法[通俗易懂]
14.6K0
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
1.1K0
win10总显示打印机未连接服务器,win10安装打印机一直未响应。。。「建议收藏」
3.8K0
win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]
1.7K0
披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞
2K0
pantum打印机驱动安装m6506_打印机驱动怎么装(安装步骤)[通俗易懂]
3.1K0
共享打印机无法连接打印,错误代码0x0000011b_打印机共享错误0x000001
1.4K0
打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法…
5.7K0
怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
5.4K0
win10系统显示打印机未连接到服务器,Win10系统连接打印机显示未指定设备的解决教程…
4.5K0
利用Ubuntu主机搭建共享打印服务
6.4K0
添加和共享打印机的方法是_按名称选择共享打印机输入什么
4.7K0
win10共享打印错误0x0000006_win7打印机共享错误0x000006,连接成功,打印测试报错…[通俗易懂]
2.2K0
共享打印机无法连接到打印机0x00000bcb_共享打印机错误为0X0000011b
2.9K0
相关推荐
麒麟系统安装打印机共享_银河麒麟 惠普打印机驱动怎么安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验