-1

我已经设计了用于将数据提交到数据库表的界面,但我不确定如何执行此操作,这是我的一些代码,其中大部分是相同的,因此一旦我知道如何操作,我就可以复制它。

<form method="post" action="input.php">
<?php wp_nonce_field('update-options'); ?>

<table width="600">
<tr valign="top>">
    <th width="92" scope="row">Enter New Track</th>
    <th width="92" scope="row">Enter New Position</th>
    <th width="92" scope="row">Enter New Driver</th>
    <th width="92" scope="row">Enter New Class</th>
</tr>
<tr valign="top>">
    <td><input type="text" name="track" /></td>
    <td><input type="text" name="position" /></td>
    <td><input type="text" name="driver" /></td>
    <td><input type="text" name="class" /></td>
</tr>
<tr valign="top">
    <td><input type="submit" value="Submit" /></td>
    <td><input type="submit" value="Submit" /></td>
    <td><input type="submit" value="Submit" /></td>
    <td><input type="submit" value="Submit" /></td>
</tr>
</table>

我想要做的是将这些值中的每一个自己输入到那里的表中,我已经仔细研究了这个问题,但没有发现任何对任何想法有帮助的东西。

4

1 回答 1

1

这里有很多问题需要解决。

首先,您只需要一个<input>type submit。这可以超出表格。其次,您的valign属性包含一个额外的>字符。

    <table width="600">
    <tr valign="top">
        <th width="92" scope="row">Enter New Track</th>
        <th width="92" scope="row">Enter New Position</th>
        <thwidth="92" scope="row">Enter New Driver</th>
        <th width="92" scope="row">Enter New Class</th>
    </tr>
    <tr valign="top">
        <td><input type="text" name="track" /></td>
        <td><input type="text" name="position" /></td>
        <td><input type="text" name="driver" /></td>
        <td><input type="text" name="class" /></td>
    </tr>
</table>
<br />
<input type="submit" value="Submit" />

上面的代码应该放在你的<form>标签内。

提交表单后,数据将被POST编辑到input.php,其目的是处理数据并将任何新数据插入到您的表中(为什么要这样做仍然是个谜,但我'将首先回答问题)。

input.php应该是这样的:

<?php
    // I will ignore error handling here, but if you want a good tutorial on PHP PDOs, try http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
    $pdoObj = new PDO("mysql:host=[yourhost];dbname=[yourdbname]", [db_username], [db_password]);

    // keep in mind that this code is WAY OPEN to SQL injection attacks, but this will at least give you an idea of how to get your code to function, if not securely.
    if(isset($_POST['track'])) {
        $pdoObj->exec("INSERT INTO tracks (name) VALUE ('" . $_POST['track'] . "')");
    }
    if(isset($_POST['position'])) {
        $pdoObj->exec("INSERT INTO positions (name) VALUE ('" . $_POST['position'] . "')");
    }
    if(isset($_POST['driver'])) {
        $pdoObj->exec("INSERT INTO drivers (name) VALUE ('" . $_POST['driver'] . "')");
    }
    if(isset($_POST['class'])) {
        $pdoObj->exec("INSERT INTO classes (name) VALUE ('" . $_POST['class'] . "')");
    }

    // some code here that will either display some copy or redirect the user to another page

笔记:

看起来您似乎还是 Web 开发的新手,所以我要告诉您:SQL 注入可不是开玩笑的。您 *必须 *防御它,否则您可能会丢失数据库中的所有内容。

一般而言,请阅读一些关于 PHP、Wordpress 和 Web 开发的书籍或教程。与社区中的人讨论最佳实践,并尝试获得更多关于如何完成您认为自己熟悉的基本任务的指导。然后转移到更复杂的场景来测试你的能力。如果有足够的经验,您会惊讶于您可以使您的 Web 应用程序做什么。

于 2012-07-31T17:56:58.787 回答