2017-06-30 11 views
-2

それは朝です。私のコードで "、"を忘れてしまった可能性はありますが、どこに問題があるのか​​わかりませんでした。ここでなぜ私は "未定義の変数"を得た

は私のhtmlコードです:

<div class="col-sm-9 col-md-10 affix-content" id="addpress"> 
       <div class="container"> 
        <div class="page-header"> 
         <h3><span class="glyphicon glyphicon-th-list"></span> Ajouter une coupure de presse</h3> 
        </div> 
        <form method="POST" class="contact-form mid" action="forms.php"> 
         <div class="row"> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <input type="text" class="form-control" name="journal" autocomplete="off" id="journal" placeholder="Nom du journal" > 
           </div> 
          </div> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <input type="text" class="form-control" name="date" autocomplete="off" id="date" placeholder="Date de parution"> 
           </div> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <input type="text" class="form-control" name="link" autocomplete="off" id="link" placeholder="Lien"> 
           </div> 
          </div> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <input type="file" class="form-control" name="imgpress" id="imgpress" > 
           </div> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-md-12"> 
           <button type="submit" class="btn main-btn pull-right" name="addpressform">Ajouter la coupure de presse</button> 
          </div> 
         </div> 
        </form> 
       </div> 
      </div> 

ここに私のPHPコード:

if(isset($_POST['addpressform'])){ 
    $journal = htmlentities($_POST['journal']); 
    $date = htmlentities($_POST['date']); 
    $link = htmlentities($_POST['link']); 

    if (!empty($_FILES)) { 
    $mime_valid = ['image/png', 'image/jpeg','image/gif']; 
    $extension_valid = ['png', 'jpeg','jpg','gif']; 
    $extension = pathinfo($_FILES['imgpress']['name'])['extension']; 
    $finfo = finfo_open(FILEINFO_MIME_TYPE); 
    $mime = finfo_file($finfo, $_FILES['imgpress']['tmp_name']); 
    if(in_array($extension, $extension_valid) && in_array($mime, $mime_valid)){ 
      $imgpress = $_FILES['imgpress']['name'];  
      if(move_uploaded_file($_FILES['imgpress']['tmp_name'], '../views/img/' . $imgpress)){ 
      echo"Le fichier à bien etais déplacer"; 
      }else{ 
       echo"Erreur dossier introuvable"; 
      } 
     } else { 
      echo 'Erreur de format'; 
     } 
    } 

    $new = array($imgpress, $link, $journal, $date); 

    $query->insert("presse", $col=array("img", "link", "journal", "date"), $new); 
    //header('Location: home.php#gererpresse'); 
} 

私はこの得た私のフォーム送信すると:注意:未定義の変数:Cでimgpress:\ wamp64 \をライン65

+0

問題は、変数を 'if'条件ブロック内で定義することです。条件が偽であるためにその変数が_not_に入力されていない場合、変数はそれ以上使用されていないときには定義されません。デフォルト値を定義するか、または条件に 'else'部分を追加する必要があります。 – arkascha

+0

アップロードされたファイルの拡張子が拡張のホワイトリストにないため、変数 '$ imgpress'を設定していません – DarkBee

+0

ファイルの送信にはフォームの' enctype'属性があります –

答えて

0

場合(in_array($延長、$ extension_valid)& & in_array($パントマイム、$ mime_valid))== falseの場合、$のimgpress上のWWW *******の\のforms.php定義されていません