2013-08-20 5 views
0

사람들이 버그를 게시 할 수있는 응용 프로그램이 있습니다. 그들은 스크린 샷을 추가 할 수 있습니다. 유일한 것은 모든 것이 내 데이터베이스에 쓰여지지만 이미지는 저장되지 않을 것입니다. 이미지의 번호 만 볼 수 있습니다. 지도 '업로드'에는 저장된 이미지가 없습니다.알림 : 정의되지 않은 색인 '업로드'

Notice: Undefined index: upload in /Applications/MAMP/htdocs/2IMD_KellyVerhaegen_Project2013/loggedIn.php on line 29 
Notice: Undefined index: upload in /Applications/MAMP/htdocs/2IMD_KellyVerhaegen_Project2013/loggedIn.php on line 30 
Notice: Undefined index: upload in /Applications/MAMP/htdocs/2IMD_KellyVerhaegen_Project2013/loggedIn.php on line 32 

PHP 코드 :

if (isset($_POST['btnBug'])) 
{ 
// wanneer er op de knop geklikt is proberen we user te saven in de databank 
if (!empty($_POST['btnBug'])) 
{ 
    /* controleren of titel en beschrijving velden zijn ingevuld */ 
    if(!empty($_POST['subject']) && !empty($_POST['post'])) 
    { 
     /* zien of de bug kan gesaved worden */ 
    try 
    { 
      //nieuwe bug aanmaken en gegevens wegschrijven 
      $bug = new Bug(); 
      $screenshot = time() . $_FILES['upload']['name']; 
      move_uploaded_file($_FILES['upload']['tmp_name'], 
      "uploads/" . $screenshot); 
      $bug->Bug_Name = $_FILES['upload']['name']; 
      $bug->Screenshot = $screenshot; 
      $bug->Post = htmlspecialchars($_POST['post']); 
      $bug->Subject = htmlspecialchars($_POST['subject']); 
      //kijken of de bug solved/unsolved is 
      $keuze = $_POST['myradio']; 
       if ($keuze == "Unsolved") { 
        $bug -> Status = "Unsolved"; 
       } else { 
        $bug -> Status = "Solved"; 
       } 
      $bug -> User_id = htmlspecialchars($_POST['getUser']); 
      $bug -> Project_id = htmlspecialchars($_POST['getProject']); 
      // bug wordt gesaved 
      $bug->saveBug();  
      } 
     catch(Exception $e) 
     { 
      $feedback = $e->getMessage(); 
      echo "Vul alle velden in!"; 
     } 
    } 
} 
} 

내 양식 : 나는 하루 종일 찾던

<div id="bugform"> 
     <div class="control-group"> 
     <h4>Vul hier u bug in.</h4> 
     <br /> 
      <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" class="form-horizontal"> 
       <label class="control-label" for="inputOnderwerp">Onderwerp</label> 
      <div class="controls"> 
       <input type="text" name="subject" /> 
      </div> 
     <br /> 
      <label class="control-label" for="inputBeschrijving">Beschrijving</label> 
      <div class="controls"> 
       <textarea name="post" name="post"></textarea> 
      </div> 
     <br /> 
      <label class="control-label" for="inputUnsolved">Unsolved</label> 
      <div class="controls"> 
       <input type="radio" name="myradio" value="Unsolved" id="Unsolved" checked="true"> 
      </div> 
     <br /> 
      <label class="control-label" for="inputSolved">Solved</label> 
      <div class="controls"> 
       <input type="radio" name="myradio" value="Solved" id="Solved"> 
      </div> 
      <?php 
      if(isset($_POST['btnBug'])) 
      { 
       echo "<img src='uploads/".$screenshot."'/>"; 

      } 
      ?> 
      <input type="file" name="upload" id="upload" /> 
     <br /> 
     <br /> 
     <br /> 
    <!-- projects ophalen --> 
     <label class="control-label" for="inputProjectKiezen">Project kiezen</label> 
     <div class="controls"> 
     <?php 
      if(mysqli_num_rows($allProjects) > 0) 
      { 
       echo "<select name= getProject>"; 
       while ($row = mysqli_fetch_assoc($allProjects)) 
       { 
        echo "<option value=" . $row['project_id'] . ">" . $row['project_name'] . "</option>"; 
       } 
       echo "</select>"; 
      } 
      ?> 
     </div> 
     <br /> 
     <!-- users ophalen --> 
     <label class="control-label" for="inputUserToekennen">Aan welke user toekennen?</label> 
     <div class="controls"> 
     <?php 
      if(mysqli_num_rows($showUser) > 0) 
      { 
       echo "<select name= getUser>"; 
       while ($row = mysqli_fetch_assoc($showUser)) 
       { 
        echo "<option value=" . $row['user_id'] . ">" . $row['username'] . "</option>"; 
       } 
       echo "</select>"; 
      } 
     ?> 
     </div> 
     <br /> 
     <div class="controls"> 
      <input class="btn btn-info dropdown-toggle" type="submit" name="btnBug" id="btnBug" value="Verzenden" />  
     </div> 
     </form> 
    </div> 

는, 누군가가 도와주세요 수

오류입니다 나를? 감사합니다. .

+0

php.ini의 upload_max_filesize - 더 높은 값을 입력하십시오. – Mihai

+1

양식에 – Hackerman

+0

의 enctype = "multipart/form-data"@RobertRozas 정말 고마워요! 고맙습니다!! – Lupicora

답변

1

<form> 요소에 enctype="multipart/form-data" 특성을 추가해야합니다.

이 이유는 기본값 인 enctype (데이터 인코딩 방법)이 application/x-www-form-urlencoded이며 전체 파일의 인코딩을 허용하지 않기 때문입니다.

+0

참조하기 전에'array_key_exists'로'upload'가 있는지 확인해야합니다. 그러면 로그에 통지하지 않게 될 것입니다. – mbfisher

+0

@Explosion Pills에 감사드립니다. Robert Rozas는 이미 댓글을 달았으며 지금 작동 중입니다! – Lupicora

관련 문제