-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
問題は、変数を 'if'条件ブロック内で定義することです。条件が偽であるためにその変数が_not_に入力されていない場合、変数はそれ以上使用されていないときには定義されません。デフォルト値を定義するか、または条件に 'else'部分を追加する必要があります。 – arkascha
アップロードされたファイルの拡張子が拡張のホワイトリストにないため、変数 '$ imgpress'を設定していません – DarkBee
ファイルの送信にはフォームの' enctype'属性があります –