我试图从表单将数据发布到SQL数据库中。 我真的不明白我错过了什么...... 我尝试了几次我设法让它工作一次,但表单只是添加了id,它将其他字段留空。现在它根本不起作用。
我的表格是这个
<form action ="addOutfit.php" method="post">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" id="title" placeholder="" value="">
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea class="form-control" rows="3" id="description" value=""></textarea>
</div>
<button type="submit" class="btn btn-default">Send</button>
</form>
我的代码就是这个
<?php
require("pdo.php");
$_POST['title'] = "";
$_POST['description'] = "";
if (isset($_POST["submit"])){
$title = $_POST['title'];
$description = $_POST['description'];
$sql = "INSERT INTO outfit (title, description)
VALUES('$title', '$description')";
$statement = $pdo->prepare($sql);
$statement->execute([
'title' => $title,
'description' => $description
]);
};
?>
答案 0 :(得分:0)
的变化: -
为所有输入字段提供name
属性。
为按钮提供name and value
属性,或使用输入字段的POST
数据值进行检查(更优选)。
所以你的代码如下: -
<form action ="addOutfit.php" method="post">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name = "title" id="title" value="">
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea class="form-control" rows="3" name= "description" id="description" value=""></textarea>
</div>
<button type="submit" class="btn btn-default">Send</button>
</form>
<?php
error_reporting(E_ALL); // check all type of error
ini_set('display_errors',1); // display those error
require("pdo.php");
if (isset($_POST['title']) && isset($_POST['description'])){ // check actual input data not submit button
$title = $_POST['title'];
$description = $_POST['description'];
$sql = "INSERT INTO outfit (title, description) VALUES('$title', '$description')";
$statement = $pdo->prepare($sql);
$statement->execute(['title' => $title,'description' => $description]);
}
?>
注意: - 检查数据库连接是您的责任。我不知道你在"pdo.php"
中有什么代码。好运。强>