在进行操作前,请确保服务器中已经安装web服务,并安装PHP7.0及以上的版本,本文是在Linux系统下进行演示操作,在Windows下同理。
本文需要对HTML/CSS,PHP,和数据库有基本认识。
本文附全部代码,将对需要修改的地方进行解析,
全端页面代码
下面是我自己制作的一个电脑检修表单
代码语言:HTML复制<!DOCTYPE html>
<html>
<head>
<title>数据收集表单</title>
<meta charset="UTF-8">
<style>
body {
font-family: Arial, sans-serif;
}
form {
width: 500px;
margin: 0 auto;
}
label {
display: block;
margin-bottom: 10px;
}
input[type="text"] {
width: 100%;
padding: 5px;
font-size: 16px;
}
textarea {
width: 100%;
height: 100px;
padding: 5px;
font-size: 16px;
}
button {
padding: 10px 20px;
font-size: 16px;
background-color: #4CAF50;
color: white;
border: none;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<form action="./copp.php" method="post">
<h2>电脑检查收集表</h2>
<br>
<label for="username">使用用户:</label>
<select name="username">
<option value="此处是需要提交的值">显示值</option>
</select><br>
<label for="asset_number">资产编号:</label>
<input type="text" id="asset_number" name="asset_number" required><br>
<label for="computer_configuration">电脑配置:</label>
<textarea id="computer_configuration" name="computer_configuration" required></textarea><br>
<label for="software_directory">软件目录:</label>
<textarea id="software_directory" name="software_directory" required></textarea><br>
<label for="issue">反应问题:</label>
<textarea id="issue" name="issue" required></textarea><br>
<label for="solution">解决办法:</label>
<textarea id="solution" name="solution" required></textarea><br>
<button type="submit">提交</button>
</form>
</body>
</html>
更改或者增加栏位,请在<form action="./copp.php" method="post">标签里面进行增加,每个项目请保持唯一id和name,而且id和name的值一致,后续会用到,
action="./copp.php"是需要将填写的数据提交的PHP文件路径,我这里的PHP文件与HTML文件在一起,所以就是./ 开头,代表从当下目录开始,copp.php是PHP文件名称,method="post"是提交的方式,有get 和post方式,get是将传输的数据明文的方式进行传输,post是在请求头中进行传输,比较安全,这里我使用的是post传输,具体使用那个,看个人需求。
在HTML代码form表单里面视情况增加或者删除栏位
PHP代码
代码语言:PHP复制<?php
header('content-type:text/html;charset=utf-8');
$servername = 'localhost';
$user = 'mycourrse';
$password = 'K455562RMetkiSn';
$dbname = 'mycourrse';
$mysqli = new mysqli($servername,$user,$password,$dbname);
if($mysqli -> connect_error){
die("连接失败".$conn->connect_error);
}
// 设置字符集
$mysqli ->set_charset('utf-8');
// 执行注册函数
register($mysqli);
$mysqli ->close();
// 用户注册函数
function register($mysqli)
{
$sql = "insert into computer(username,asset_number,computer_configuration,software_directory,issue,solution) values(?,?,?,?,?,?)";
// 预处理语句
$mysqli_stmt = $mysqli->prepare($sql);
$username = $_POST["username"];
$asset_number = $_POST["asset_number"];
$computer_configuration = $_POST["computer_configuration"];
$software_directory = $_POST["software_directory"];
$issue = $_POST["issue"];
$solution = $_POST["solution"];
// s代表字符串,一个字符串写一个S
$mysqli_stmt -> bind_param('ssssss',$username,$asset_number,$computer_configuration,$software_directory,$issue,$solution);
// 执行预处理
if($mysqli_stmt ->execute()){
// 成功会有新的ID返回
echo $mysqli_stmt -> insert_id;
echo PHP_EOL;
echo "<script>alert('电脑检测信息登记成功!');window.location.href='./index.html'</script>";
} else{
// 执行失败,错误信息
echo $mysqli_stmt ->error;
}
$mysqli_stmt -> free_result();
$mysqli_stmt ->close();
}
?>
在以上PHP代码中,基本上都有注释,一看就非常清楚直白,这里我介绍下。比较容易出现困惑的地方
$sql = "insert into computer(username,asset_number,computer_configuration,software_directory,issue,solution) values(?,?,?,?,?,?)";
上面这句是对已经收集的信息插入到数据库中,后面的问号,代表需要插入的值
$username = $_POST"username";
声明一个变量username ,$_POST"username"中的$_POST是获取POST方法传输的数据,"username"是在前端页面中,Name的值为username的标签的值,下面的代码如法炮制,都一样。
bind_param('ssssss',$username,$asset_number,$computer_configuration,$software_directory,$issue,$solution);
这段代码的ssssss相对应的是每个获取的值的类型, s是字符串,如果你获取的是数字,那么它就是i
注意:
在连接数据库处,请更改为自己的数据库名和密码
$servername = 'localhost'; localhost是本地数据库
$user = 'mycourrse'; mycourrse数据库用户名
$password = 'K455562RMetkiSn'; K455562RMetkiSn数据库密码
$dbname = 'mycourrse'; mycourrse选择那个数据库
数据库
在设计数据库时,我们需要格外注意,如设计不好,数据类型有误,都会造成数据上传提交错误。
在以上我的提交数据我设计全部为字符串,在写入数据库时使用varchat类型
下图为设计的表结构,
注意UID,这里UID作为主键存在,但在收集的表单中可以不存在,UID为设定为自增,其他的字段我们设定为varchat(255),255表示最大可以接受的文字的大小。
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表