将HTML表单提交插入MySQL表(使用PDO)


Inserting HTML form submissions into MySQL table (using PDO)

我正在尝试创建一个网页,它有多个表单,人们可以填写,点击提交,PHP将处理运行查询,将所有数据插入到表中各自的字段中。

我创建了一个提交了一个完全好的字段的字段,当我将其扩展到5个字段时,我意识到我不知道如何处理代码。

<html>
<head>
<title>Asset Pass</title>
</head>
<body>
<h1>Asset Submission</h1>
<p>Connection status: <?php include '../mysqlconnect.php'; echo $db . " active"; ?></p>
<form method="post">
<div><label for="type">Type:
<br/><input type="text" name="type" id="type"/></label></div>
<div><label for="name">Name:
<br/><input type="text" name="name" id="name"/></label></div>
<div><label for="desc">Description:
<br/><input type="text" name="desc" id="desc"/></label></div>
<div><label for="loc">Location:
<br/><input type="text" name="loc" id="loc"/></label></div>
<div><label for="label">Label:
<br/><input type="text" name="label" id="label"/></label></div>
<div><input type="submit" name="submit" value="GO"/></div>
</form>
<?php
#function aquery($asset) {
#   include '../mysqlconnect.php';
#   $conn->query("INSERT INTO kit VALUES ('$asset', '$name', '$desc', '$loc', '$label');");
#}
if ($_POST['submit']) {
        include '../mysqlconnect.php';
        foreach ($_POST['type'] as $key => $value)
        {
            $type =  $_POST['type'] [$key];
            $name =  $_POST['name'] [$key];
            $desc =  $_POST['desc'] [$key];
            $loc =   $_POST['loc']  [$key];
            $label = $_POST['label'][$key];
            $sql = $conn->query("INSERT INTO Kit VALUES ('$type', '$name', '$desc', '$loc', '$label');");
        }
}
##  $asset = $_POST['name'];
#   aquery($asset);
#   printf("<h3>Entry Accepted</h3>" . "<br/><br/>" . "<strong>Submission: </strong>" . $asset . "<br/><br/>");
?>
</body>
</html>

对被屠杀的代码感到抱歉-顶部和底部的注释部分是我尝试使用的原始代码片段,中间的部分是建议的在线解决方案,与我认为有效的方法接近。我正在使用PDO btw!

不理解$_POST和isset是如何正常工作的。

if (isset($_POST['submit'])) 
    {
    include '../mysqlconnect.php';
    $type = filter_input(INPUT_POST, 'type', FILTER_SANITIZE_MAGIC_QUOTES);

等等。