点击按钮不会在数据库PHP中插入值

时间:2018-03-30 14:30:27

标签: php html database

我试图弄清楚如何使用PHP在我的数据库中插入一个值。 我是一名学生,所以我对PHP很新,但过去几个小时我一直在努力解决这个问题。我试图在我的数据库中插入一个值' ic_likes'当我按下图像时(按钮内的图像)。

它告诉我错误,但我不确定该如何处理它。我一直在寻找它,但似乎无法找到我做错的事情

  

注意:未定义的索引:第56行的/Applications/MAMP/htdocs/back-end/Development/collection.php中的操作*

我的数据库如下所示:

IC:

=======================
       ic_items
=======================
id | items | text |url
=======================

==============
   ic_likes
==============
id | items_id 
==============

HTML

<ul>
    <li>
        <form class="" action="collection.php?id=<?php echo($items[0]['id'])?>" method="post">
            <input type="hidden" name="action" value="insertLike" />
            <button type="submit" name="button">
                <img src="assets/img/like.svg" alt="Lost love in war" width="20" class="heart">
            </button>
        </form>
        <span class="info-txt aantal">

        <?php
            $aantalLikes = $likesDAO->getLikesForID($items[0]['id']);
            echo($aantalLikes['total']);
        ?>

        </span> 
    </li>   
</ul>

collection.php

foreach ($items as $item) {
    $likes = $likesDAO->selectByLikeId($item['id']);
}

if ($_POST['action'] == 'insertLike') {
    $data = array(
        'items_id' => $item['id']
    );
    $insertedLike = $likesDAO->insert($data);
    if (empty($insertedLike)) {
        $errors = $likesDAO->validate($data);
    }
}

likeDAO.php

public function insert($data) {
    $errors = $this->validate( $data );
    if (empty($errors)) {
        $sql = "INSERT INTO `ic_likes` (`items_id`) VALUES (:items_id)";
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':items_id', $data['items_id']);

        if ($stmt->execute()) {
            return $this->selectById($this->pdo->lastInsertId());
        }
    }
    return false;
}

0 个答案:

没有答案