好的,伙计们。我是php和其他服务器端代码的新手。
我能够成功地连接到我的服务器和数据库。我可以使用插入数据代码插入具有值的数据。但是,当我在代码中输入这些值时,这些值就会被发送到表中。如何使用HTML表单使用输入到文本区域的自定义数据显示在数据库表中?
例如,
当我使用VALUE('jon','doe')时,它会将这些值发送到数据库中,而不是我在文本区域中输入的文本。我该如何解决这个问题,比如说,在填写网络表格时输入我的实际姓名?
基本上,我在问我将如何使用web表单将数据处理到数据库中。我很困惑
我们鼓励您从第一天起使用PDO(或至少使用mysqli)准备的语句。通过这种方式,您可以相对安全地将数据插入SQL语句中。请阅读官方手册。请注意,默认情况下,PDO将模拟准备好的语句。这可能会导致安全漏洞。因此,您应该请求切换模拟的准备语句。
$options = [PDO::ATTR_EMULATE_PREPARES => false];
$pdoConnection = new PDO($dsn, $user, $password, $options);
然后,您可以创建准备好的SQL语句,如:
SELECT `id`, `value` FROM `myTable` WHERE `value` = ?;
只要驱动程序支持真实的准备语句,就不会直接替换"?",数据将在语句后单独发送。这避免了通过编码攻击进行SQL注入。
请阅读文档,尝试一下,如果你有具体的问题,请回来。
您可以在一个页面上构建一个表单,将输入发送到另一个页面。例如:
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注入)。
如果这对你有用,请告诉我!
在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'];
}