我试图在真正简单的内容管理系统中更新内容。这个想法是用户可以登录和修改内容。用图像更新Mysql内容
我遇到的问题是如果用户登录,更改新闻部分中的内容,但不更改图像,则在保存图像文件时不会写入任何内容。如何进行内容更新,但是如果用户不更改图像,则会单独保留此部分,并且不会写入图像。
我以前曾尝试保存旧图像文件名,并使用它来代替,但由于某些原因,它似乎总是使用新的文件图像名称,即使这是空白。
我想我需要这样的东西:
if(image is not changed){
$filename = uploaded image;
}else{
$filename = old file name;
我只是不知道该怎么办了第一个if语句,它似乎一直检测图像的变化,即使变化是NULL
或某种什么都没有。
我写了下面的代码,希望能够理解它。
if (isset($_POST['update'])) {
$e_id = sanitizestring($_POST['edit_id']);
$title = sanitizestring($_POST['newstitle']);
$date = sanitizestring($_POST['newsdate']);
$content = sanitizestring($_POST['newscontent']);;
if ($_FILES['news_img']['error'] == 0) {
move_uploaded_file($_FILES['news_img']['tmp_name'], "uploads/news/".$_FILES['news_img']['name']);
$filename = $_FILES['news_img']['name'];
}
$edit_q ='
UPDATE
`news`
SET
`news_title` = ?,
`news_date` = ?,
`news_article` = ?,
`news_img` =?
WHERE
`news_id` = ?
';
$edit_stmt = $pdo->prepare($edit_q);
if($edit_stmt -> execute(array($title, $date, $content, $link, $linktext, $filename, $e_id))){
$successMsg = 'Edit successful';
}else{
$failMsg = 'Unable to edit as this time';
echo $failMsg;
}// end if edit successful
}// end if update is set
'empty()'应该看起来那个。谢谢您的帮助! – ThePagan 2014-09-29 09:30:03