Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Fonksiyonda elde edilen değeri almak

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Yine çok saçma bir yerde takıldım :) dosya_indir($adres) seklinde tanımlanan bir fonksiyonum var. Burada $adres kısmına ne yazarsam, o adresteki resim benim hostuma kopyalanıyor. Buraya kadar her sey normal. Fakat sorun bu islemi form haline getirdiğimde baslıyor. Bir de form olusturdum; resim adını, açıklamasını ve resim adresini yazıyorum. Submit'e basınca, mysql'e bilgileri gir ve fonksiyonu uygula komutum var. Mysql'e bu fonksiyonun çıktısını göndermeye çalıstığımda nedense görmüyor. Bütün bilgiler gidiyor, fakat yüklediğim resmin adı çıkmıyor. Mysql komutunu fonksiyon içine alınca da, resmin adı gönderiliyor ama diğer bilgiler gönderilmiyor. Anlatamadım sanırım ama :( Ne yapacağım ben :eek:
 

selim61

0
Onaylı Üye
Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Açılan Konu
252
Tepki puanı
13
Konum
<?=selim61?>
anlamadım ve atıyorum
function içinde resim adını aldıgını varsayıyorum
function dosya_indir($adres)
{
blablabla
return $resimadi;
}
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
Ploop bu anlatımdan anlamak zor, örnekli kod verebilirsen iyi olur.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Evet tahmin etmistim sansımı denedim :) Asağıdaki ilk fonksiyonda $ad bana resim dosyasının adını veriyor. Burada sorun yok.
function dosya_indir($adres) {
...
...
if ($islem) {
echo" $ad Dosya basariyla yuklendi...";
} else {
echo "$dizin - $dizinim - $dizinim_x";
die("Dosya yuklenemedi");
}
}

Bu islemle de formdan gelen verileri alıyorum:
foreach ($_POST as $key => $value) {
$$key = $value;
}
Formu post ettiğimde asağıdaki satırları ekledim ki, veritabanına kayıt yapsın. Burada $ad verisini dosya_indir($adres); fonksiyonunu kullanarak elde ediyorum. ($adres formda tanımlanmıs olarak geliyor):
<?
if ($yolla) {
dosya_indir($adres);
$topla=mysql_query("insert into video (id,video_adi,video_aciklama,video_embed,video_etiket,video_kategori,video_resim,video_izlenme,onay) values (lisanssız,'$video_adi','$video_aciklama','$video_embed','$video_etiket','$video_kategori','$ad',1,1)");
echo "video basarıyla gönderildi.";

echo "resim: $ad";

exit;
}
?>

Burada dosya_indir fonksiyonundan $ad'ı alamıyorum. Ilk fonksiyondaki $ad tanımlı fakat bunu mysql'e aktaramıyorum. Anlatabildim mi :eek:

Hatta en sondaki echo "resim: $ad"; olayını geliyor mu diye bakmak için ekledim ama nafile bos :(
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Noldu selim sadece bakıyorsun cevap yazsana :D
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
2 çözümü var, tavsiyem 2. si yönünde:

1.
değişkeni dosya_indir fonksyonu içinde global tanımlarsın

function dosya_indir($adres) {
global $ad;
...
..
2.
dosya_indir fonksyonu $ad değişkenini döndürür

function dosya_indir($adres) {
...
..
return $ad;
}
ve bu değişken şu şekilde çekilir.

<?
if ($yolla) {
$ad = dosya_indir($adres);
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Çok tesekkurler, hemen ilgili dökümanları inceleyeyim; bilgim pekissin :)
 
Üst