gpt4 book ai didi

php - 将 HTML 表单中的用户输入插入到 SQL 数据库中

转载 作者:行者123 更新时间:2023-11-29 05:06:45 26 4
gpt4 key购买 nike

我正在尝试使用 php 将用户在 HTML 表单中输入的文本插入到我的 sql 数据库中的“UserId”列中。下面是一个基本示例,可帮助我找出我做错了什么。

HTML

<html>
<form action="index1.php" method ="post" name="trial">

<input type="text" name="testName" id="testId">
<br>
<input type="submit" value="Submit">

</form>
</html>

PHP

$servername = "localhost";
$username = "root";
$password = "xx";
$dbname = "wp";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$UserId = $_POST['testName'];

$sql = "INSERT INTO UserProfile (UserId) VALUES ('$testName')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

一些注意事项:

  1. 我可以连接到数据库并在正确的列中插入表单中的复选框和单选值

  2. 我找不到将表单中输入的用户文本插入数据库的方法(UserProfile 是表,UserId 是列)。使用 javascript 变量(如下所示)会有帮助吗?

    var testVar = document.getElementById("testId").value;
  3. 我知道我正在使用上面的代码进行黑客攻击,我想稍后对其进行改进,但我认为我需要首先弄清楚基础知识(即:如何将用户文本输入添加到数据库)

比你提前任何帮助!

最佳答案

您将值存储在 $UserId 中,而不是 $testName 中:

将您的 SQL 查询更改为

$sql = "INSERT INTO UserProfile (UserId) VALUES ('$UserId')";

我认为这会有所帮助。顺便说一句:想想 SQL 注入(inject)!看这里:How can I prevent SQL injection in PHP?

关于php - 将 HTML 表单中的用户输入插入到 SQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com