Giriş yap
Ajax Resim Upload Sorunu

Formu bilgileri aşağıdaki gibi

ajax kullanmadan sorunsuz kayıt işlemi geçekleşiyor , sanırım sorun ajax da...
ajax ile gönderirsem veritabanına tüm bilgiler kaydoluyor ama resim yüklenmiyor ve veritabanına yolu kaydolmuyor.

Sorun ne olabilir

<form id="personel_ayarlari_ajax" action="javascript:void(0);" onSubmit="return false" method="POST" enctype="multipart/form-data">

burada diğer form bileşenleri var uzun olması diye eklemedim.

<div class="col-md-12">
	<div class="form-group">
		<label>Profil Resmi</label>
		<img src="<?php echo $personel['p_profil_resmi']; ?>" width="100px">
		<input type="file" class="form-control pb-5" id="file" name="file" >
		<input name="eskiresim" type="hidden" value="<?php echo $personel['p_profil_resmi']; ?>">
	</div>
</div>	

<button class="mt-2 btn btn-primary pull-right" name="personel_bilgileri_kaydet" id="personel_bilgileri_kaydet" type="submit" onclick="personel_ayarlari_ajax();">Bilgileri Kaydet</button>
</form>

Ajax kodlarım

<script type="text/javascript">
//sirket guncelle
function personel_ayarlari_ajax() {
var veriler = $('#personel_ayarlari_ajax').serialize();

$.ajax({
  type: "POST",
  url: "ajax/personel_bilgileri_guncelle.php",
  data: veriler,
  success: function (response){
    toastr.success('İşlem başarıyla sonuçlandı');
  },
  error: function (response) {
    toastr.error('Lütfen zorunlu alanları doldurunuz....');
  }
});

};
</script>

php kodlarım

<?php

require_once '../_fonksiyon.php';

if (isset($_POST))

{
	if(!empty($_POST["p_sifre"])){
		$p_sifre = sha1(md5($_POST["p_sifre"]));
	}else { $p_sifre =NULL;}
		

if($_FILES){
    /* Dosya Adını Düzeltme Fonksiyonu */
        // Yüklenen dosya adındaki türkçe karakterleri değiştirir
        function renamefile($filename) {
            $find = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '-');
            $replace = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', ' ');
            $filename = strtolower(str_replace($find, $replace, $filename)); // str_replace() ile türkçe karakterleri değiştiriyoruz. strtolower() ile büyük harfleri küçük harfe dönüştürüyoruz.
            $filename = str_replace(' ', '-', $filename); // str_replace() fonksiyonu ile boşlukları - yapıyoruz.
            return $filename;
        }
    /* Dosya Adını Düzeltme Fonksiyonu */
    $uploadfolder = 'images'; // Dosyanın yükleneceği klasörü yolunu yazıyoruz.
    $file = $_FILES['file']; // $_FILES ile gelen verileri değişkene atıyoruz.
    // $formats = array("application/pdf", "application/doc", "application/docx", "application/xls", "application/xlsx"); // Dokümanlar için PDF, Word, Excel formatları
    $formats = array("image/pjpeg", "image/jpeg", "image/gif", "image/bmp", "image/x-png", "image/png"); // Resimler için Jpg, Gif, Bmp, Png formatları
    // $formats = array("video/mp4", "video/mpg", "video/mpeg", "video/mov", "video/avi", "video/flv", "video/wmv"); // Videolar için Mp4, Mpg, Mov, Avi, Flv, Wmv formatları
    $url_decode = urldecode($file['name']);
    $name = explode('/', $url_decode);
    $rand = time(); // Random bir değer atamak için burada zamanı alıyoruz.
    if (in_array($file['type'], $formats)) {
        // Yüklemek istenilen dosyanın izin verilen dosya formatlarına uygunluğunu kontrol ediyoruz.
        $upload_file = $uploadfolder.'/'.$rand.renamefile($name[count($name) - 1]);
        move_uploaded_file($file['tmp_name'], $upload_file);
        $filename = $rand.renamefile($name[count($name) - 1]);
    }
	$p_resim = $uploadfolder.'/'.$filename;
}
else 
{ $p_resim =$_POST['eskiresim']; }
  $personel_ekle=execute_query("UPDATE tbl_personeller SET
  	p_adi=?,
  	p_soyadi=?,
  	p_kimlik_no=?,
  	p_mail=?,
  	p_mobil=?,
  	p_sifre=?,
  	p_adres=?,
 	p_profil_resmi=?,
  	p_degistiren_id=?,
  	p_degistirme_tarihi=now()	
		 
  WHERE p_id=?",
    array(
		
        $_POST["p_adi"],
        $_POST["p_soyadi"],
        $_POST["p_kimlik_no"],
        $_POST["p_mail"],
        $_POST["p_mobil"],
        $p_sifre,
        $_POST["p_adres"],
      	$p_resim,
       	$_SESSION["p_id"],
		
       	$_SESSION["p_id"]
		
    ));

}else{
    echo 2;
}

?>

qplot
242 gün önce

bence oncelıkle verot class kullan sonra ben sana kodları buradan yazarım

arcface
241 gün önce

ajax yapına contentType: false, cache: false, processData:false dahil et tekrar dene

Nasıl akıllıca soru sorulur?
Daha hızlı ve kaliteli cevaplar almak için önce nasıl soru sorulacağını bilmeniz gerekir. Eğer bilmiyorsanız bu yazı serisini okuyun.

Cevap yaz

Günlük Film Tavsiyesi