大家好我需要一些帮助。我从服务器连接到数据库,可以插入一些信息,如$sql = "INSERT INTO Posts (Text_Post) VALUES ('Sample Text')";
。现在我想保存从<input type="text" />
到数据库的点击文本。你能告诉我我做错了吗?
<?php
$servername = "google.com";
$username = "google";
$password = "google";
$dbname = "google";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST['Submit'])) {
$sql = "INSERT INTO Posts (Text_Post) VALUES ('".$_POST['text']."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>anonim</title>
</head>
<body>
<form name="form" action="" method="post">
<input type="text" name="text" id="text" value="Salut" /=>
<input type="submit" id="Submit" />
</form>
</body>
</html>
答案 0 :(得分:4)
您遗漏了提交中的name
标记。当数据POST
'到服务器时,它使用name
标记。
<input type="submit" id="submit" name="Submit">
请注意观看您的首都 - (因为您正在检查提交是否为SET
,那么您需要POST
提交。
你可以这样做:
if(isset($_POST['text'])) {
此外,请注意:我建议您查看此链接,因为您很容易SQL Injections。
答案 1 :(得分:0)
当我们要使用POST或GET发布表单时。我们应该总是给所有我们的名字命名,这样我们就可以使用$ _POST [&#39; name&#39;]或$ _GET [&#39; name&#39;]来获取它们。在您的情况下,只需为您的提交标记命名,并检查数据是否已提交。
替换
<input type="submit" id="Submit" />
与
<input type="submit" id="submit" name="submit">
并检查它
if(isset($_POST['submit'])) {// it will only check where form is posted or not
// your code...
}