程序應該是這樣的:if-else語句錯誤
- 代碼將檢查是否有可供上傳的任何文件。
- 如果找到任何文件。它會上傳,文本將保存在數據庫中。
- 但是,如果找不到文件,它將不會上載,路徑也不會保存,但文本仍會保存在數據庫中。
真正發生:
- 的文本保存
- 的映像路徑仍保存!所以在後面的部分檢索圖像會是一個問題。
正如你注意到:
- 我刪除了
avatar_image_path
上if
這就是我想不被保存圖片的路徑,但它仍然保存。
代碼:
if ($_FILES["file"]["name"] == 0)
{
$updateQuery = "UPDATE `users`.`info` SET `password` = '$newPass',`contact_number` = '$newConNum',`user_address` = '$newAdd',`email_address` = '$newEmail', WHERE `info`.`username` = '$username' AND `info`.`password` = '$userpass' AND `info`.`firstname` = '$firstName' AND `info`.`lastname` = '$lastName' AND `info`.`admin_level` =$adminLvl AND `info`.`contact_number` = '$ConNum' AND `info`.`user_address` = '$usrAdd' AND `info`.`avatar_image_path` = '$avaImgPth' ";
$executeQuery=$con->query($updateQuery);
echo "Profile successfully UPDATED!";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "avatar/owner-".$_SESSION['username']."-fname-".$_SESSION['fname']."-l_name-".$_SESSION['lname']."-filename-".$_FILES["file"]["name"]);
$updateQuery1 = "UPDATE `users`.`info` SET `password` = '$newPass',`contact_number` = '$newConNum',`user_address` = '$newAdd',`email_address` = '$newEmail',`avatar_image_path` = '$filepath' WHERE `info`.`username` = '$username' AND `info`.`password` = '$userpass' AND `info`.`firstname` = '$firstName' AND `info`.`lastname` = '$lastName' AND `info`.`admin_level` =$adminLvl AND `info`.`contact_number` = '$ConNum' AND `info`.`user_address` = '$usrAdd' AND `info`.`avatar_image_path` = '$avaImgPth' ";
$executeQuery1=$con->query($updateQuery1);
echo "Profile successfully UPDATED!";
}
0是一個文件一個陌生的名字。 –
您在if語句中詢問錯誤的情況。 – Termis
對不起。我沒有時間提交這個。我也試過這個'if($ _ FILES ['file'] ['name'] ==「」)'但問題仍然是一樣的。 – user3437929