error log dosyasında hata yok şu anda. dün vardı düzenledim.
bugün sordum yine aynı kişi hata alıyor dosya yüklerken.
ama error logda hatada yok.
bende bu hata yok.
<?php
$getgorevsor=$db->prepare("SELECT * FROM gorev where status='1' and id=:id");
$getgorevsor->execute(array('id' => $getid));
$getgorevdurum = $getgorevsor->rowCount();
if ($getgorevdurum==0) {
header('location:'.$mainurl."yeni-gorev");
}
$getgorev = $getgorevsor->fetch(PDO::FETCH_ASSOC);
$akisor = $db->prepare("SELECT * FROM gorevakisi where user=:user and gorev=:gorev and status!='2'");
$akisor->execute(array(
'user' => $user['id'],
'gorev' => $getgorev['id']
));
$akidurum = $akisor->rowCount();
if (isset($aa)) {
refresh($mainurl,"3");
} else {
if ($akidurum != 0) {
header('location:'.$mainurl);
exit;
}
}
$getcatsor=$db->prepare("SELECT * FROM category where id=:id");
$getcatsor->execute(array('id' => $getgorev['category']));
$getcat = $getcatsor->fetch(PDO::FETCH_ASSOC);
$page = array
(
'title' => "Görev Görüntüle",
);
include 'inc/_header.php';
$sorvarsor = $db->prepare("SELECT * FROM yorum where gorev=:gorev and status='0' and user=:user");
$sorvarsor->execute(array('gorev' => $getid, 'user' => $user['id']));
$sorvardurum = $sorvarsor->rowCount();
if ($sorvardurum != 0) {
$cekcc = $sorvarsor->fetch(PDO::FETCH_ASSOC);
} else {
$sorrc = $db->prepare("SELECT * FROM yorum where gorev=:gorev and status='0' and user='0' LIMIT 1");
$sorrc->execute(array('gorev' => $getid));
$sorrcdurum = $sorrc->rowCount();
$cekcc = $sorrc->fetch(PDO::FETCH_ASSOC);
$sorup = $db->prepare("UPDATE yorum SET user=:user, date=:date where id=:id");
$sorup->execute(array(
'user' => $user['id'],
'date' => date("Y-m-d h:i:s"),
'id' => $cekcc['id']
));
if ($sorup) {
if ($sorrcdurum != "0") {
header('refresh:0');
}
}
}
?>
<div class="content-body">
<!-- container starts -->
<div class="container-fluid">
<!-- breadcrumb
<div class="row page-titles">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="index">Anasayfa</a>
</li>
<li class="breadcrumb-item active">
<a href="javascript:void(0)">Görev İnceleme</a>
</li>
</ol>
</div>-->
<div class="row mb-5">
<div class="col-lg-12 mb-0">
<div class="card">
<div class="card-header bg-green pt-3 pb-3 d-block">
<div class="media">
<img src="<?php echo baseurl().$getcat['image'] ?>" alt="/" class="me-2 rounded" width="50">
<div class="media-body">
<h4 class="mb-0 m-b-5 text-white"><?php echo $getgorev['name'] ?></h4>
<p class="mb-0 fs-12 subtitle text-white"><?php echo $getcat['name'] ?></p>
</div>
</div>
</div>
<div class="card-body rounded-bottom bg-gradient3 p-3 text-center">
<div class="row">
<div class="col p-0 d-none d-sm-block">
<h5 class="m-b-0 text-white">Görev Adı</h5>
<span class="badge badge-dark"><?php echo $getcat['name'] ?></span>
</div>
<div class="col p-0">
<h5 class="m-b-0 text-white">Kazanç Puanı</h5>
<span class="badge badge-secondary"><img height="14" class="me-1" src="/images/puanlogo.png" alt="/"><?php echo ($getgorev['kazanc']*1000)." ".$setting['setting_parabirim'] ?></span>
</div>
<div class="col p-0"><?php
$sor = $db->prepare("SELECT * FROM gorevakisi where gorev=:gorev and status='1'");
$sor->execute(array('gorev' => $getgorev['id']));
$a = $sor->rowCount();
$katilim = $getgorev['kullanilan']."/".$getgorev['kapasite'];
?>
<h5 class="m-b-0 text-white">Katılım Durumu</h5>
<span class="badge badge-danger"><?php echo $katilim;?></span>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-12 mb-3 text-center">
<a href="<?php echo $getgorev['link'] ?>" target="_blank" class="btn btn-block btn-primary shadow"><i class="fa fa-external-link-alt me-1"></i> Görev Adresi</a>
</div>
<div class="col-lg-12 mb-0">
<div class="card h-auto">
<div class="card-body">
<div class="border-bottom-1 pb-3">
<h3 class="mb-2 fw-bold text-primary">Görev Detayları:</h3>
<div class="mb-2 descc"><?php echo $getgorev['descc'] ?></div>
<h3 class="mb-4 fw-bold text-primary">Görevi Kanıtla:</h3>
<form action="" method="POST" autocomplete="off" enctype="multipart/form-data">
<div class="row">
<div class="col-lg-9">
<div class="mb-3">
<label class="text-black font-w600 form-label" for="kanit1">1. Kanıt</label>
<input id="kanit1" type="file" class="form-control form-control-sm" name="image[]" required>
<p class="small text-danger">Sadece PNG, JPG/JPEG, GIF formatında dosya uzantıları desteklenmektedir!</p>
</div>
</div>
<div class="col-lg-9">
<div class="mb-3">
<label class="text-black font-w600 form-label" for="kanit2">2. Kanıt</label>
<input id="kanit2" type="file" class="form-control form-control-sm" name="image[]" required>
<p class="small text-danger">Sadece PNG, JPG/JPEG, GIF formatında dosya uzantıları desteklenmektedir!</p>
</div>
</div>
<div class="col-lg-9">
<div class="mb-3">
<label class="text-black font-w600 form-label" for="descc">Yorum</label>
<textarea id="descc" class="form-control" name="descc" placeholder="<?php echo $g_e ?>"></textarea>
</div>
</div>
<?php if ($getgorev['yorum'] == "1") { ?>
<input type="hidden" name="yorum" value="<?php echo $cekcc['id'] ?>">
<?php } ?>
<div class="col-lg-9">
<div class="mb-3">
<button type="submit" name="bildirim" class="btn btn-primary"><?php echo $w_four ?></button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
include 'inc/_footer.php';
?>
Verdiği hata "ERR_UPLOAD_FILE_CHANGED"
Upload yapılan bir dosya var ve bunun değişmesi/silinmesi gibi bir olay gibi algılıyorum.
Ajax ile dosya upload oluyorsa sonrasında resetleme yapman gerekiyor sanırım.
$.ajax({
url: this.action,
type: this.method,
data: this.data,
success: function (response) {
// success scenario
},
error: function (result) {
// error scenario
},
complete: function (data) {
$('#uploadForm')[0].reset(); // this will reset the form fields
}
});
arkadaşın da dediği gibi hata tarayıcı kaynaklı, sunucu ile alakası pekte yok. dolaylı olarak bu hatayı tetikleyen bazı unsurlar var ama, örneğin yanlış header kullanımı gibi. arkadaşın verdiği örnek senaryoyu kullan ve ajax ile istekte bulun, sayfayı da sunucu başlığı ile değil js ile yenile. sorun kalmayacaktır. ekstra olarak hata yakalamanı ve dosya durumunu takip etmeni de öneririm.
try {
// Upload işlemi
} catch (e) {
if (e.message.includes("ERR_UPLOAD_FILE_CHANGED")) {
alert("Dosya değişti veya taşındı, lütfen yeniden seçin.");
document.querySelector('input[type="file"]').value = "";
}
}