从表单将数据发布到SQL数据库时出错

时间:2016-02-16 18:37:50

标签: php mysql database post pdo

我试图从表单将数据发布到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
]);
}; 
?>

1 个答案:

答案 0 :(得分:0)

的变化: -

  1. 为所有输入字段提供name属性。

  2. 为按钮提供name and value属性,或使用输入字段的POST数据值进行检查(更优选)。

  3. 所以你的代码如下: -

    <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"中有什么代码。好运。