İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Fonksiyonda elde edilen değeri almak

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
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
İyinet Üyesi
Onaylı Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Reaction score
12
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
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Ploop bu anlatımdan anlamak zor, örnekli kod verebilirsen iyi olur.
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
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 :(
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
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
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Çok tesekkurler, hemen ilgili dökümanları inceleyeyim; bilgim pekissin :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst