我試圖在真正簡單的內容管理系統中更新內容。這個想法是用戶可以登錄和修改內容。用圖像更新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