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

时间:2015-03-18 17:33:04

标签: php html mysql forms 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!

1 个答案:

答案 0 :(得分:0)

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

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

依此类推,效果很好。