我在表格上遇到了一些麻烦。它包含用于上传图像的输入类型文件,以及用于选择放置此图像的位置的选择标记。 代码是这样的:
<?php
require_once("functions.php");
if(isset($_COOKIE['user']))
{
$username= checkcookie($_COOKIE['user']);
}
if (isset($_SESSION['user'])) {
if ($_POST) {
$errors = array();
$errors = SomeValidation();
if (empty($errors )) {
UpdateImages();
exit;
}else {
Header ("location: somefile.php?error=There was an error");
exit;
}
}else{
var_dump("error");
} ?>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
<?php if(isset($_GET['error'])) {?>
<div class="alert alert-danger" role="alert">
<ul>
<li><?php echo $_GET['error'] ?></li>
</ul>
</div>
<?php } ?>
<div class="cbp-mc-column">
<label>Choose new Image</label>
<select id="code" name="code">
<option value="1" >First</option>
<option value="2" >Second</option>
<option value="3" >Third</option>
</select>
<br/>
<input type="file" name="newimage" value="" />
<br>
<input type="submit" name="update" value="Update">
<br>
</div>
</form>
<!-- Bootstrap Core JavaScript -->
<script src="../js/bootstrap.min.js"></script>
</body>
</html>
<?php }else
{
header('location: panel.php');
}
?>
if($_POST)
我总是得到假,当我提交表格时也是如此。
知道为什么吗?
编辑:我忘了提及,我通过帖子发送select
值,因此我可以选择上传哪个文件,并且它总是空的。
答案 0 :(得分:1)
上传图片或任何其他文件,你需要检查$ _FILES数组而不是帖子, 这个问题可能会有所帮助
答案 1 :(得分:0)
最好检查输入而不是请求方法..所以使用
if (!empty($_POST["update"])) {
....
}
答案 2 :(得分:0)
首先,您需要检查是否点击了提交按钮:isset($_POST['update'])
接下来,检查是否已选择文件:isset($_FILES['newimage']['tmp_name'])
if (isset($_POST['update'])) {
if (isset($_FILES['newimage']['tmp_name'])) {
$errors = array();
$errors = SomeValidation();
if (empty($errors )) {
UpdateImages();
exit;
} else {
Header ("location: somefile.php?error=There was an error");
exit;
}
} else {
echo "No file selected.";
}
} else {
echo "Not a POST request.";
}