使用html表单将数据插入数据库

时间:2016-04-30 08:11:46

标签: php html database

好的,伙计们。我是php和其他服务器端代码的新手。

我能够成功连接到我的服务器和数据库。我能够使用插入数据代码插入带有值的数据。但是,当我在代码中输入值时,这些是发送到表的值。如何使用HTML表单将输入到文本区域的自定义数据显示在我的数据库表中?

例如,

当我使用VALUE(' jon',' doe')时,它会将这些值发送到数据库而不是我输入文本区域的文本。如何解决这个问题,在填写网络表单时输入我的实际名称?

基本上,我问我将如何使用Web表单将数据操作到数据库中。我很困惑

3 个答案:

答案 0 :(得分:0)

我们鼓励您从第一天开始使用 PDO (或至少是mysqli)准备好的语句。这样,您可以相对安全地将数据插入到SQL语句中。请阅读official manual。请注意,默认情况下,PDO将模拟预准备语句。这可能会导致安全漏洞。因此,您应该请求切换模拟的预准备语句。

$options       = [PDO::ATTR_EMULATE_PREPARES => false];
$pdoConnection = new PDO($dsn, $user, $password, $options);

然后,您可以创建准备好的SQL语句,如:

SELECT `id`, `value` FROM `myTable` WHERE `value` = ?;

只要驱动程序支持真正准备好的语句,“?”不会直接替换,数据将在声明后单独发送。这可以避免通过编码攻击进行SQL注入。

如果您有具体问题,请阅读文档,尝试并回来。

答案 1 :(得分:0)

您可以在一个页面上构建一个表单,将表单发送到另一个页面。例如:

的index.php:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <form method="POST" action="action.php">
      <input type="text" name="message">
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

您的php / MySQL代码将存在于名为action.php的页面中,该页面与index.php位于同一目录中。

action.php的:

<?php
$message = $_POST['message'];
/*now you can use the $message variable in your MySQL code to insert
it into the database*/
?>

请记住使用预准备语句并在MySQL代码中绑定参数以防止黑客攻击(如sql注入)。

请告诉我这是否适合您!

答案 2 :(得分:0)

在html中创建表单时,您可以定义以下输入:

<input type="text" name="my_input">

在提交表单后访问此特定输入的内容。使用取决于您的表单使用$_GET['my_input']$_POST['my_input']使用哪种方法来检索在表单输入中输入的值。

尝试使用此示例播放arround:

<form action="" method="get">
    <input type="text" name="field" value="<?php print $_GET['field']; ?>">
    <input type="submit" name="s" value="Go!">
</form>
<?php

if (isset($_GET['s'])) {
    print "value of the text field: ".$_GET['field'];
}