• 01-11-2010, 11:22:55
    #1
    Merhaba Arkadaşlar
    Persist.upload ta 2 sorunum var.

    1 cisi, Aşağıdaki kodlamada Admin panelindede ilan ekliyorum, admin id`si 1 olduğu için veritabanında ilan tablosuna ( kimin ) kısmına 1 yazıyor, Üye id`si 1 olan da eklediği zaman onuda aynı şekilde ilan tablosuna ( kimin ) kısmına 1 yazıyor, admin panelinde ilanlarım bölümüne baktığımda admin tarafından eklenen ilanlar ve Üye id`si 1 olanında ilanları görüküyor, burada nasıl bi nasıl bi mantık yürütmem gerekir admin panelinde sadece admine ait ilanlar gözükmesi gibi

    rs.AddNew
    rs("emlak_tipi")= Upload.Form("emlak_tipi")
    rs("oda")= Upload.Form("oda")
    rs("salon")= Upload.Form("salon")
    rs("kimin") = session("user")
    rs.Update
    rs.Close


    2 cisi, ilan eklerken verilerle resimleri birlikte gönderiyorum veritabanına ve sorunsuz çalışıyor, yalnız 10 resim eklediğim zaman sorunsuz çalışıyor, 10 tane resim yerine 9 tane veya 2 tane resim eklediğim zaman hata veriyor, benim anlatmak istediğim 10 tanede resim eklesem, 1 tanede resim eklesem hata vermesin, birde arkadaşlar veritabanına resim eklenirken resim boyutlarını genişlik ve yükseklik ayarlarını nasıl yapabilirim.

    Set file=upload.files("r1" )
    Set file1=upload.files("r2" )
    Set file2=upload.files("r3" )
    Set file3=upload.files("r4" )
    Set file4=upload.files("r5" )
    Set file5=upload.files("r6" )
    Set file6=upload.files("r7" )
    Set file7=upload.files("r8" )
    Set file8=upload.files("r9" )
    Set file9=upload.files("r10" )

    If file.ImageType = "JPG" or file.ImageType = "GIF" or file.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 1 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file1.ImageType = "JPG" or file1.ImageType = "GIF" or file1.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 2 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file2.ImageType = "JPG" or file2.ImageType = "GIF" or file2.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 3 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file3.ImageType = "JPG" or file3.ImageType = "GIF" or file3.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 4 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file4.ImageType = "JPG" or file4.ImageType = "GIF" or file4.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 5 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file5.ImageType = "JPG" or file5.ImageType = "GIF" or file5.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 6 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file6.ImageType = "JPG" or file6.ImageType = "GIF" or file6.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 7 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file7.ImageType = "JPG" or file7.ImageType = "GIF" or file7.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 8 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file8.ImageType = "JPG" or file8.ImageType = "GIF" or file8.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 9 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if

    If file9.ImageType = "JPG" or file9.ImageType = "GIF" or file9.ImageType = "PNG" then
    else
    response.write "<script language=""javascript"">alert('(((( Resim 10 )))) JPG, GIF, PNG Uzantılı Resim Ekleyebilirsiniz...');history.back();</script>"
    response.end
    end if


    Saygılar.
  • 01-11-2010, 12:49:53
    #2
    Öncelikle ilk sorunuz için adminin tablodaki id sini 0 yapın. Böylece 0 olarak eklenen id ler admin olur. Ekleyenin ismini gösterdiğiniz yerlerede

    if ekleyenidsi=0 then
    response.write ("admin")
    else
    response.write uyeadi
    end if

    Şeklinde bir ifade yazın.

    Bu şekilde o sorunu çözebilirsiniz.

    İkinci sorunuzun cevabıda upload nesnenizi oluşturmadan hemen öncesine

    on error resume next ekleyin. Yalnız bu güncelleme işleminde sıkıntı doğurabilir. Onun içinde boş gelen veriyi kontrol edip veri tabanındaki ilgili alana yazmamasını sağlamalısınız. Mesela ekleme yaparken herhangi bir problem olmaz yüklemediğiniz resimler için veri tabanında ilgili alanlar boş kalır ama güncelleme işleminde boş gelen veri dolu alanı boş olarak update eder. Bunu kontrol etmek için oluşturduğunuz file nesnesinin boyutunu kontrol edip eğer 0 sa işlem yapmamasını sağlamalısınız.

    Resim boyutlandırma işinide aynı firmanın asp jpeg componenti ile yapabilirsiniz.

    Kolay gelsin.
  • 01-11-2010, 13:49:01
    #3
    Hocam cevabınız için teşekkür ederim
    1 inci sorumun cevabını dediğiniz gibi yaptım olmadı ilan tablosunda kimin kısmının id`sine yine 1 yazıyor.

    2 inci sorumun cevabını tam olarak anlayamadım hocam

    Saygılar.
  • 01-11-2010, 13:54:25
    #4
    emlak21 adlı üyeden alıntı: mesajı görüntüle
    Hocam cevabınız için teşekkür ederim
    1 inci sorumun cevabını dediğiniz gibi yaptım olmadı ilan tablosunda kimin kısmının id`sine yine 1 yazıyor.

    2 inci sorumun cevabını tam olarak anlayamadım hocam

    Saygılar.

    Şimdi üyeye atadığın session session("id") ise yönetici girişi yapıldığında atadığın session session("adminid") olsun. Resim eklerken şöyle bir kontrol uygula.

    if session("adminid")<>"" then
    ekleyen=0
    else
    ekleyen=session("id")
    end if

    ekleyenin id sinide bu şekilde tablonda ilgili alana yazdır.


    İkinci sorun ise upload kod bloğunun başına on error resume next ekleyeceksin. Yalnız bunu sadece ekleme yaparken kullan. Güncelleme yaparken eğer bir dosya yüklemiyorsan veri tabanındaki alana boş kayıt yaparak günceller. Deneyerek anlayabilirsin ne demek istediğimi.
  • 01-11-2010, 15:29:32
    #5
    Hocam çok Sağolun Admin olayını sayenizde halletim, Hocam resim olayınıda dediğiniz gibi on error resume next yaptım ilan bilgilerini ekliyor, veritabanına 1 tanede 10 tanede resimi eklemiyor.
  • 01-11-2010, 16:26:48
    #6
    emlak21 adlı üyeden alıntı: mesajı görüntüle
    Hocam çok Sağolun Admin olayını sayenizde halletim, Hocam resim olayınıda dediğiniz gibi on error resume next yaptım ilan bilgilerini ekliyor, veritabanına 1 tanede 10 tanede resimi eklemiyor.

    siz sağolun estağfırullah. Kullandığınız şartlara response.end koymuşsunuz. Yani resim uzantısı belirlediğiniz şartlara uymuyorsa işlem devam edemiyor. Herhangi bir dosya gelmediği içinde doğal olarak uzantı şartlara uymuyor o nedenlede diğer resimler eklenemiyor.

    Bunuda resmin uzantısını veya noktadan sonrasını kontrol ederek aşabilirsiniz.

    Count = Upload.Save("dosyayolu")

    if count>0 then

    işlemleriniz...

    end if


    veya

    uzanti=file.ext

    if len(uzanti)>0 then

    işlemleriniz...

    end if
  • 01-11-2010, 16:39:01
    #7
    Hocam ben size asp dosyasını upload edeyim pm atayım bi bakarsanız sevinirim hocam
    Saygılar.
  • 01-11-2010, 20:57:41
    #8
    Üyeliği durduruldu
    Bu sorunun cevabını ben de merak ediyorum
  • 04-11-2010, 00:26:23
    #9
    Konuyu biraz karışık sormuşsun.

    1. Cevap:
    Üye id ve statu id farklı sütunlarda olmalı. session("user") değerini kontrol et admin için 1 diyelim. Normal üye için 2 diyelim.

    select * from tabloadi where statu =1 dersen admin'in ekledikleri görünecektir.

    2. cevap:
    Persist upload bileşenini iyi incelemeni tavsiye ederim. for each döngüsüyle kaç tane file yüklediysen zaten tamamı için kendisi otomatik bulup dönecektir tek tek yazmana gerek yok kaç kayıt varsa o kadar döneceği için orda bahsettiğin 1. duruma düşmessin. Gereksiz kod yazmamış olursun.

    2. durumda ise persist jpeg bileşenini kullanman gerekir. Resimleri resize edebilir, üzerine logo yada istediğin yazıyı yazabilir ve bir çok özelliği var hepsini kullanabilirsin.