Nerede araştırdıysam bulamadım.
Benim sıkıntım formdaki değerlerin tümünü ajax ile bir php dosyasına yollamak.
İşin içine input type="file" girince herşey alt üst oldu.
Kullandığım form:
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return false">
<input type="text" name="video_adi" id="video_adi" class="kat_text">
<input type="text" name="video_yili" id="video_yili" class="kat_text">
<input type="text" name="video_basrol" id="video_basrol" class="kat_text">
<input type="text" name="video_imdb" id="video_imdb" class="kat_text">
<input type="text" name="video_etiket" id="video_etiket" class="kat_text">
<textarea name="video_aciklamasi" id="video_aciklamasi" class="kat_textarea"></textarea>
<select name="video_dili" id="video_dili" class="kat_select">
<option value="0">Lütfen Video Dilini Seçiniz</option>
<option value="1">Türkçe Dublaj</option>
<option value="2">TR Altyazılı</option>
<option value="3">Orjinal Dili</option>
</select>
<select name="video_kategorisi" id="video_kategorisi" class="kat_select">
<option value="0">Aksiyon</option>
<option value="0">Macera</option>
</select>
<input type="file" name="video_afis" id="video_afis" class="kat_file" size="27" />
<input type="file" name="video_video" id="video_video" class="kat_file" size="27" />
<input type="submit" name="submit" id="submit" value="Videoyu Ekle" class="kat_submit" onclick="videoekle()">
</form>gönderdiğim fonksiyonda bu verileri alıp degerler adında bir değişkene atıyorum.function videoekle()
{
var video_adi = $("input[name=video_adi]").val();
video_adi = jQuery.trim(video_adi);
var video_yili = $("input[name=video_yili]").val();
video_yili = jQuery.trim(video_yili);
var video_basrol = $("input[name=video_basrol]").val();
video_basrol = jQuery.trim(video_basrol);
var video_imdb = $("input[name=video_imdb]").val();
video_imdb = jQuery.trim(video_imdb);
var video_etiket = $("input[name=video_etiket]").val();
video_etiket = jQuery.trim(video_etiket);
var video_aciklamasi = $("textarea[name=video_aciklamasi]").val();
video_aciklamasi = jQuery.trim(video_aciklamasi);
var video_dili = $('#video_dili option:selected').val();
var video_kategorisi = $('#video_kategorisi option:selected').val();
var afis = $('#video_afis').val();
var film = $('#video_video').val();
var degerler = "video_adi="+video_adi+"&video_yili="+video_yili+"&video_basrol="+video_basrol+"&video_imdb="+video_imdb+"&video_etiket="+video_etiket+"&video_aciklamasi="+video_aciklamasi+"&video_dili="+video_dili+"&video_kategorisi="+video_kategorisi+"&afis="+afis+"&film="+film;
$.ajax({
type:"POST",
url:"Include/video_ekle_in.php",
data:degerler,
success: function(sonuc){
$("#upload_prog").empty();
$("#upload_prog").html(sonuc)
}
});
}video_ekle_in.php bunları$video_adi = $_POST['video_adi']; olarak alıyorum.
sonra denemek için aldığım değerleri ekrana yazdırıyorum.
Sonuç olarak
$film_adi = $_FILES['film']['name'];
$film_tmp = $_FILES['film']['tmp_name'];
$afis_adi = $_FILES['afis']['name'];
$afis_tmp = $_FILES['afis']['tmp_name'];
olarak aldığım file dosyaları hata verdiriyor.
Sanırım ajax ile çekip gönderdiğimde bu şekilde alamıyorum.
Ne kadar araştırdıysam da bulamadım.
Yardımlarınızı bekliyorum.
Konuyu yanlış yere açtıysam özür dilerim
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:11:35 -->-> Daha önceki mesaj 13:52:30 --
Tekrar merhaba üstadlar,
Biraz deneme yanılma yoluyla
Javascript ile
file inputlarını
var film = $("input[name=video_video]").val(); olarak aldım.
Ajax ile değeri gönderdim.
karşı taraftan
$film_adi = $_POST['film'];
olarak aldım.
ve bunu explode ile düzenledim.
karşıma fakepath diye bir şey çıktı.
$film_adii = explode('\\',$film_adi);
$son_film_tmp = $film_adii['0']."\\".$film_adii['1']."\\";
$son_film_adi = end($film_adii);
$son_film_tmp = C:\fakepath\
$son_film_adi = video ismi
Bu fakepath'ten nasıl kurtulabilirim?
