前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用腾讯云服务器建立一个PHP收集表单

使用腾讯云服务器建立一个PHP收集表单

原创
作者头像
如此这般那便是极好
发布2023-10-08 13:53:29
2530
发布2023-10-08 13:53:29
举报
文章被收录于专栏:未来码迹未来码迹
在进行操作前,请确保服务器中已经安装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腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在进行操作前,请确保服务器中已经安装web服务,并安装PHP7.0及以上的版本,本文是在Linux系统下进行演示操作,在Windows下同理。
  • 全端页面代码
  • PHP代码
  • 数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档