PHP CMS - 添加图像不起作用

PHP CMS - Add image is not working

我正在创建一个简单的 CMS,我希望用户能够在他们的帖子中上传图片。除图像外,表格工作正常。出于某种原因,我收到此消息 'Notice: Undefined index: post_img'。有人可以帮我解决这个问题吗?

谢谢。

代码:

<form method="post" action="add_post.php">
 <?php
        if(isset($_POST['add_post'])) {

            $add_title = $_POST['post_title'];

            $post_img = $_FILES['post_img']['name'];
            $post_img_temp = $_FILES['post_img']['tmp_name'];


            $add_content = $_POST['post_content'];

            move_uploaded_file($post_img_temp, "images/$post_img");

            $add_post_query = "INSERT INTO posts (post_title, post_img, post_content) ";
            $add_post_query .= "VALUES ('$add_title', '$post_img', '$add_content') ";

            mysqli_query($connection, $add_post_query);
        }  

    ?>


        <div class="form-group">
            <label for="post-title">Title</label>
            <input type="text" name="post_title" class="form-control">
        </div>
        <div class="form-group">
            <label for="post-img">Image</label>
            <input type="file" name="post_img" class="form-control">
        </div>
        <div class="form-group">
            <label for="post-content">Content</label>
            <textarea name="post_content" class="form-control"></textarea>
        </div>
        <div class="form-group">
            <input type="submit" name="add_post" class="btn btn-primary" value="Add Post">
        </div>
    </form>

您需要正确放置表单标签。您还需要通过将 enctype 属性添加到表单标签来设置表单以接受文件

 <form method="post" enctype="multipart/form-data">
<div class="form-group">
            <label for="post-title">Title</label>
            <input type="text" name="post_title" class="form-control">
        </div>
        <div class="form-group">
            <label for="post-img">Image</label>
            <input type="file" name="post_img" class="form-control">
        </div>
        <div class="form-group">
            <label for="post-content">Content</label>
            <textarea name="post_content" class="form-control"></textarea>
        </div>
        <div class="form-group">
            <input type="submit" name="add_post" class="btn btn-primary" value="Add Post">
        </div>
    </form>