2017-09-30 8 views
0

私は単純なCMSを作成しています。ユーザーが自分の投稿にイメージをアップロードできるようにしたいと思います。フォームは画像の外で正しく動作しています。何らかの理由で私はこのメッセージを '通知:未定義インデックス:post_img'とします。誰かが私を助けることができますこれを解決する?PHP CMS - イメージを追加できません

ありがとうございました。

コード:

<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> 
+0

oops!あなたのhtmlフォームにフォームタグ – Akintunde007

+0

がありません。それはPHPコード – pro78

+1

の上に表示されます。問題はそこにあるかもしれません。それはPHPコードを超えてはいけません。 – Akintunde007

答えて

2

あなたが適切にあなたの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> 
+0

urさん、ありがとうございます@Akintunde。問題はこのenctype = 'multipart/form-data'でした。 – pro78

+1

はい、できます。それをマークできるようにするには、さらに5分必要です。 – pro78

+0

友人を助けてうれしい! – Akintunde007

関連する問題