验证图像未检测到

时间:2017-11-24 09:00:06

标签: php mysql user-input

我有从数据库创建/更新/删除我的数据的代码。

我有数据和横幅图片。如果只设置了数据,我不想更新图像。

所以,我尝试制作一个代码验证器:如果我只更新数据 - 不是图像 - 我的图像没有设置为空。

但是我的验证没有检测到我是否填写了我的输入文件......

这是我的代码:

((TextView)this._$_findCachedViewById(id.itemTitle)).setText((CharSequence)"Hello World!");

如果有人能帮助我,我很高兴。我尝试使用名称横幅更新图像

1 个答案:

答案 0 :(得分:0)

问题在您的条件和最后一次查询中。我认为在上次更新中你不需要更新图像。更改您的代码如下

<?php
 include ("config.php");
 $id= $_POST['id'];
 $konten3 = $_POST['konten3'];
 $footer=$_POST['footer'];
 $lokasi_file   = $_FILES['banner']['tmp_name'];
 $nama_file     = $_FILES['banner']['name'];

 if(isset($_FILES['banner']) && $_FILES['banner']['name'] != "") {
 $hapus = mysql_query("SELECT * FROM newsletter WHERE id='$id'");
 $r=mysql_fetch_array($hapus);
 $d = 'upload/'.$r['banner'];
 unlink ($d);
 move_uploaded_file($lokasi_file,"upload/".$nama_file);


 }
if (!empty($lokasi_file)) { //change here need to check "not empty" instead of "empty"
 if ($edit = mysql_query("UPDATE newsletter SET banner='$nama_file',konten3='$konten3', footer='$footer' WHERE id='$id'")){
    header("Location: newsletter.php");
    exit();
}
die ("Terdapat kesalahan : ". mysqli_error($konek));

}
//Remove banner from below query
if ($edit = mysql_query("UPDATE newsletter SET , konten3='$konten3',footer='$footer' WHERE id='$id'")){
    header("Location: newsletter.php");
    exit();
}
die ("Terdapat kesalahan : ". mysql_error($konek));
?>

修改

如果上传横幅,则更改您的逻辑,然后移动并更新横幅,否则只更新其他数据

<?php
 include ("config.php");
 $id= $_POST['id'];
 $konten3 = $_POST['konten3'];
 $footer=$_POST['footer'];
 $lokasi_file   = $_FILES['banner']['tmp_name'];
 $nama_file     = $_FILES['banner']['name'];

 if(isset($_FILES['banner']) && $_FILES['banner']['name'] != "") {
 $hapus = mysql_query("SELECT * FROM newsletter WHERE id='$id'");
 $r=mysql_fetch_array($hapus);
 $d = 'upload/'.$r['banner'];
 unlink ($d);
 move_uploaded_file($lokasi_file,"upload/".$nama_file);

 if ($edit = mysql_query("UPDATE newsletter SET banner='$nama_file',konten3='$konten3', footer='$footer' WHERE id='$id'")){
    header("Location: newsletter.php");
    exit();
}
 die ("Terdapat kesalahan : ". mysqli_error($konek));

 }

//Remove banner from below query
if ($edit = mysql_query("UPDATE newsletter SET , konten3='$konten3',footer='$footer' WHERE id='$id'")){
    header("Location: newsletter.php");
    exit();
}
die ("Terdapat kesalahan : ". mysql_error($konek));
?>