Advertisement:

Author Topic: SSI Dersleri - Başlangıç Seviyesi  (Read 37688 times)

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
SSI Dersleri - Başlangıç Seviyesi
« on: May 21, 2008, 10:25:55 AM »
SSI Dersleri – Başlangıç Seviyesi

Öncelikle hepiniz SSI Derslerimize hoş geldiniz. 3 seviye olarak düşünülen SSI Derslerimizde; SSI ile neler yapabileceğimize bakacak, SSI hakkında sıkça sorulan sorulara cevap verecek ve bazı püf noktalarını açıklayacağız. Ayrıca mesajın sonuna eklenmiş olan kodlar ile de öğrendiklerinizi uygulamalı bir şekilde görebileceksiniz. Bunun dışında herhangi bir soru sormak ya da yorum yapmak isterseniz lütfen bu mesajın altından devam edin.

***LÜTFEN ‘SSI.PHP’ DOSYANIZDA DEĞİŞİKLİK YAPMAYINIZ***
Bu derslerde gösterilen her şey ‘SSI.php’ dosyası düzenlenmeden yapılmıştır.


SSI nedir?

Açılımı Server Side Include olan SSI, forumunuzdaki bilgileri, forum dışındaki sayfalarınızda kullanabilmenizi sağlar.

SSI bana nasıl yardımcı olabilir?

Emin olun siz de SSI kullanmak zorunda kalacağınız bir durumla karşılaşacaksınız. Hemen bir örnek verelim:

Örnek:

Forumunuzun dışındaki bir sayfada bazı özel indirme bağlantıları bulunuyor. Siz, bunların sadece üyeler tarafından görülmesini istiyorsunuz.

Böyle bir şeyi SSI ile birkaç dakika içinde yapabilirsiniz.

İlginç… Peki, nasıl kullanmaya başlayacağım?

Denemek için bir dosya oluşturabilirsiniz. Öncelikle yapmanız gereken kullanacağınız dosyanın uzantısını .php yaparak aşağıdaki kodu dosyanın en üstüne eklemek:

Code: [Select]
<?php
require("/home/simple/public_html/forum/SSI.php"); 
?>
Yalnız yukarıdaki kodda SSI.php dizininin siteniz için doğru olduğundan emin olmalısınız.

Tamam, dizini doğru olarak girdim, sırada ne var?

Eğer doğru dizini bularak dosyanıza yukarıdaki kodu eklediyseniz ilk adımı tamamladık. Şimdi birkaç deneme yapalım. Aşağıdaki kodu ‘require…’ ile ‘?>’ kodları arasına ekleyin:

ssi_menubar();

Ardından da tarayıcınızdan bu sayfayı görüntüleyin. Her şey yolunda gittiyse, sitenizin menüsünü görüyor olmanız gerekir. Eğer hiçbir şey çıkmıyor veya hata mesajı alıyorsanız büyük ihtimalle SSI.php dizinini doğru olarak ayarlayamadınız, tekrar kontrol edin.
Çalıştırabildiğinize göre artık burada diğer varsayılan fonksiyonları da kullanarak denemeler yapabilirsiniz. Varsayılan fonksiyonları ‘ssi_examples.php’ dosyasından görebilirsiniz.

Harika! Başka neler yapabiliriz?

Birçok şey. Mesela verdiğimiz örnekteki gibi kullanıcının üye olup olmadığını kontrol edebilirsiniz.

Örnek:

Sitenizde hem forum, hem de forumdan bağımsız bazı sayfalar var. Özel bağlantıların bulunduğu “Dosyalar” sayfasını sadece üyelerin görebilmesini istiyorsunuz.

Bunu PHP’nin ‘if’ kontrol yapısı ile kolayca yapabilirsiz:

Code: [Select]
<?php
require("SSI.php_DİZİNİNİZ"); 

if (
$context['user']['is_guest'])
 {
   echo 
   
'<h5>Erişim Engellendi</h5>
   Bu sayfaya erişim izniniz yoktur. Eğer üyeyseniz lütfen giriş yapın.'
;
 }
else
 {
   echo
   
'<h5>Hoş geldin '$context['user']['name'], '!</h5>
   İşte özel bağlantılar:'
;
 }
?>

Yukarıdaki kodları açıklayalım:
‘if’ kontrol yapısı doğru ve yanlış üzerine çalışır. Örneğimizdeki $context['user']['is_guest'] eğer doğruysa, birinci kod bloku çalışır. Eğer yanlışsa ‘else’ kod bloku çalıştırılır.
Yani bu kodlarda eğer giriş yapmamışsanız [Bu durumda ziyaretçisiniz] “Erişim Engellendi” mesajı alacaksınız. Ama eğer giriş yapmışsanız, indirme bağlantılarını göreceksiniz. Kendinize göre düzenleyerek kullanabilirsiniz.

Aynısını kullanıcının yönetici olup olmadığını kontrol etmek için de kullanabilirsiniz.

Code: [Select]
if ($context['allow_admin'])
  {
   Kod bloku
  }
else
  {
   Kod bloku
  }

Bu mesaja eklenmiş olan kodlar da size yardımcı olacaktır.

membergroup.txt – Üye grubunuzu daha sonra kullanılabilmesi için bir değişkenin içine koyar.
welcome.txt – Eğer ziyaretçiyseniz, giriş formunu; değilseniz de karşılama mesajını gösterir.

Bununla birlikte ilk dersimizin sonuna geldik. Şimdi SSI Dersleri – Orta Seviye’ye geçebilirsiniz.

Lütfen anlamakta zorluk çektiğiniz noktaları sormaktan çekinmeyiniz. Bu dersin kapsadığı bütün özellikler hakkında soru ve sorunlarınızı bu konu altına yazabilirsiniz.

Orijinal konu Basic SSI FAQ, Tomer tarafından yazılmıştır.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #1 on: May 21, 2008, 10:38:48 AM »
Harkulade. Emeğine sağlık Sinan.. Bu 3 ders de bana ileride lazım olabilir..
Dökümantasyona taşınmasını temenni ederim..
İnadına SMF 1.1.X

Offline ♀φ®♪└┘δ

  • Jr. Member
  • **
  • Posts: 366
  • Gender: Male
  • PaRDuS ~ www.hepdizi.com
    • forex döviz
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #2 on: May 21, 2008, 10:48:59 AM »
Sinan çok güzel  bir  anlatım olmuş en azından benim  gibi  ssı'yi  pek bilmeyen arkadaşlar  bunlardan  yararlanacaktır.  Mesela    veri tabanını entegre etmeden sadece  üyelerin girebileceği  sohbet bölümleri  oluşturulabilir  bu yolla..

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #3 on: May 21, 2008, 10:51:59 AM »
Evet, 2. kısımdaki kodlarla kolayca yapabilirsiniz.

Eğer devamını yazacak olursam SSI için yeni fonksiyonlar yazma ile alakalı bir ders olacaktır. Ama bu bölüm için gerekir mi, bilmiyorum.
Former SMF Core Developer | My Mods | SimplePortal

Offline TECHKENDO

  • Semi-Newbie
  • *
  • Posts: 79
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #4 on: May 26, 2008, 03:17:43 AM »
Bilgiler için teşekür ederim Sinan,

sitemi kendi php bilgilerim ve ssi ile geliştiriyorum, şimdiye kadar iyi iş çıkardığıma inanıyorum

Aşağıdaki if döngülerini belirli forum kullanıcı grubuna uygulayabiliyormuyuz ? Örneğin istediğim yere sadece oluşturmuş olduğum A Grubu girecek şekilde

if ($context['allow_admin']) --->> yönetici

if ($context['user']['is_guest']) --->> ziyaretçi


Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #5 on: May 26, 2008, 03:25:16 AM »
SSI Dersleri - İleri Seviye'de açıklamıştım sorunuzun cevabını.

Diğer dersleri de okumanızı tavsiye ediyorum.
Former SMF Core Developer | My Mods | SimplePortal

Offline Ni©holąś™

  • Jr. Member
  • **
  • Posts: 226
  • Gender: Male
    • Sagopa Kajmer ve Kuvvetmira Fan Sitesi
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #6 on: June 01, 2008, 05:32:52 AM »
Emeğine sağlık Sinan :)

Offline seksensekizbin

  • Full Member
  • ***
  • Posts: 473
  • Gender: Male
  • sekiz
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #7 on: June 17, 2008, 04:16:06 PM »
Elinize sağlık..

Yapmak istediğim şey şu ,

Elimde 20 kategorili forum var. ( misal )

a kategorisi
b kategorisi
c kategorisi


Bu kategorilerden a kategorisinde açılan son konunun Konu başlığını Forum Ana Sayfasında Forumun Sağ tarafına eklediğim blokta göstermek istiyorum. Açacağım blokta istediğim kategorinin / kategorilerin son konusunu veyahut son 3 konusunun başlığını orada göstermem mümkün müdür ? Son 10 konu haricinde böyle birşey yapmak istedim ama kodların içinden çıkılmaz bir hal aldı..

Şimdiden teşekkürler..
« Last Edit: June 17, 2008, 04:23:26 PM by index.html »
ve hayat; sunulmuş bir armağandır insana..

Offline Yağız...

  • SMF Super Hero
  • *******
  • Posts: 10,809
  • Gender: Male
    • MMO Browser
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #8 on: June 17, 2008, 05:00:12 PM »
Sanırım burası daha çok yardımcı olur:
http://www.simplemachines.org/community/index.php?topic=240521.0

Offline seksensekizbin

  • Full Member
  • ***
  • Posts: 473
  • Gender: Male
  • sekiz
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #9 on: June 18, 2008, 09:31:59 AM »
Teşekkür ederim ilginiz için.. ;)
ve hayat; sunulmuş bir armağandır insana..

Offline #Serseri

  • SMF Hero
  • ******
  • Posts: 1,701
  • Gender: Male
    • istanbulgezintisi on Facebook
    • @FerhatKocabaL on Twitter
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #10 on: July 02, 2008, 10:43:26 AM »
***LÜTFEN ‘SSI.PHP’ DOSYANIZDA DEĞİŞİKLİK YAPMAYINIZ***

SSI'de kendime göre değişiklik yapsam ne sakıncası varki? Forum buradan birşeyler çekiyormu? Kendime göre düzenlediğim bir kaç yer varda. Örneğin tabloları düzenliyorum bir kaç gif ekliyorum.

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #11 on: July 03, 2008, 03:09:23 AM »
Güncelleme sırasında sorun yaşamamanız için SSI.php'de değişiklik yapmanızı tavsiye etmiyorum. SSI Dersleri - Orta Seviye'yi incelerseniz aslında SSI.php'de hiçbir değişiklik yapmadan istediklerinizin yüzde 90'ını elde edebileceğinizi göreceksiniz.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #12 on: July 05, 2008, 05:42:01 AM »
SSI boarnews ile çağırdığımızda
6 yorum | Yorum Yaz
yazıyorya hani haberin aşağısında..
onun yanına bir de görüntülenme sayısını ekleyebilirmiyiz paşam?
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #13 on: July 05, 2008, 06:01:30 AM »
Sanırım temada kullanacaksın. Maalesef görüntülenme sayısını veritabanından almıyor HCM.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #14 on: July 05, 2008, 06:34:09 AM »
Eywelleeee :)
İnadına SMF 1.1.X

Offline sazan

  • Full Member
  • ***
  • Posts: 632
  • Gender: Male
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #15 on: July 06, 2008, 05:09:01 AM »
ya birde html index te ssi nasil yapilir izah edebilecen mi? deneyecem bakalim...
« Last Edit: July 06, 2008, 05:10:59 AM by sazan »

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #16 on: July 06, 2008, 05:29:35 AM »
html index.te ssi yapılmaz benim bildiğim.
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #17 on: July 06, 2008, 05:32:30 AM »
Daha önce bir yerde yazmıştım sanırım. Normalde apache ayarlarından html'lerin de Server-Side-Include'u desteklemesi sağlanabiliyor. Ama tavsiye edilmiyor ve de çok kolay değil.
Former SMF Core Developer | My Mods | SimplePortal

Offline [-Delete-]

  • Jr. Member
  • **
  • Posts: 385
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #18 on: November 05, 2008, 02:10:27 PM »
Emeğine Sağlık Sinan Çok Güzel Döküman , Sırayla Diğer Dökümanlarıda İnceleyeceğim.

HTML Sayfada Ben SSİ Çalıştırmıştım ve Bunu <bod><?php ssi_fonksiyon(); ?></body> şeklinde gerçekleştirmiştim.

Nekadar doğru nekadar yanlış tartışılır ama istediğimide yapmıştım doğrusu :)

Tekrar Teşekkürler.
Pess..!

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - Başlangıç Seviyesi
« Reply #19 on: November 06, 2008, 06:02:41 AM »
HTML Sayfada Ben SSİ Çalıştırmıştım ve Bunu <bod><?php ssi_fonksiyon(); ?></body> şeklinde gerçekleştirmiştim.

Bunun mümkün olduğunu sanmıyorum. Eğer iframe kullanarak *.php bir sayfayı gömmezseniz... *.html uzantısının da SSI'ı desteklemesi sağlanabiliyor ama kullanılan kodlar *.shtml örneklerinde olduğu gibi olmak zorunda. Tabii url rewrite ile php uzantıyı da html'e çevirebilirsiniz.
Former SMF Core Developer | My Mods | SimplePortal