Dreamweaver ile Üyelik Sistemi - Üyelere Özel Sayfa ve İfadeler

Bu makale dizisi ile Dreamweaver kullanarak sitemiz için bir üyelik sistemini nasıl yapacağımızı inceleyeceğiz. Üyelere özel sayfaları veya sadece üyelerin görebileceği bir objeyi nasıl giriş yapmamış kullanıcılardan gizleyeceğimizi bu makalede inceleyeceğiz
www.dijitalders.com

Üyelik sisteminin beklide en önemli amaçlarından biri olan "üyelere özel" imkanları veya içerikleri sunmaktır. Bu işlemi yapmak için; üyenin giriş yapıp yapmadığını kontrol etmeliyiz. Dreamweaver bu işlemi bizim için oldukça kolaylaştırıyor.

Bu tür uygulamaların mantığını kavrayabilmemiz için DW ile yapılan üyelik sistemlerinde DW'ın üye giriş işlemi sırasında nasıl bir prosedür izlediğini bilmemiz gerekiyor. DW tarafından hazırlanan üye girişi (login) sayfalarında giriş işlemi sırasında bir oturum açılmakta ve üyenin kullanıcı adı "MM_Username" adında bir oturum değişkenine atanır. Eğer üye yetkilerinin de söz konusu olduğu bir oturum açma işlemi yaptıysak yani üyelik sistemimiz yetki bazlı ise aynı şekilde giriş yapan üyenin veritabanındaki yetki bilgisi "MM_UserGroup" adlı başka bir değişkene atanır.

Bu bilgiler ışığında oturum bilgilerini kontrol ederek üyenin giriş yapıp yapmadığını tespit edebiliriz.

Üyelere özel sayfalar yapmak

Bu işlem için sadece üyelerin görmesi gereken PHP dokümanını açıyoruz. Burada bazı arkadaşların aklında "HTML dokümanları içinde bu işlemi yapabilir miyiz?" sorusu belirebilir. Bu sorunun cevabı maalesef "hayır" arkadaşlar. Sadece aktif sunucu modeli dilleri ile hazırlanmış sayfalarda yetki kısıtlaması yapabiliyoruz.

Doküman DW içersinde açık iken eğer açık değilse Windows / Server Behaviors menüsü ile "Server Behaviors" panelini açıyoruz. (+) işaretine tıklayarak açılan menüden "User Authentication / Restrict Access To Page" seçeneğine tıklıyoruz.

Server Behaviors panelinden User Authentication / Restrict Access To Page seçeneğine tıklıyoruz

Server Behaviors panelinden User Authentication / Restrict Access To Page seçeneğine tıklıyoruz

Açılan iletişim penceresinden ilgili ayarları yapabilirsiniz. Giriş yapmayan kullanıcıların yönlendirileceği sayfanın adresini-yolunu "If access denied, go to" kısmına girmelisiniz. Bu kısma üyelerin giriş yapabileceği "login.php" sayfasının adresini yazarak kullanıcının giriş yapmasını da sağlayabilirsiniz.

Üye yetkisi kısıtlama iletişim penceresi

Üye yetkisi kısıtlama iletişim penceresi

Eğer yetki bazlı bir kontrol yaptırmak istiyorsanız "Restrict access based on" bölümünden "Username, password and Access level" seçeneğini seçmelisiniz. "Define" düğmesine tıklayarak sitemiz için kullanmayı düşündüğümüz yeki türlerini belirleyebiliriz.

Üye yetkisi tanımlama iletişim penceresi

Üye yetkisi tanımlama iletişim penceresi

Yetkileri tanımladıktan sonra yetki kısıtlaması iletişim penceresinde hangi yetkiye sahip üyelerin sayfayı görmesini istiyorsanız onları "CTRL" tuşuna basılı tutarak seçebilirsiniz.

İşlemleri tamamladıktan sonra "OK" diyerek yetki kısıtlamasını sayfaya ekleyebiliriz. Peki, tüm sayfada değil de sayfanın belli bir kısmının üyeler tarafından görünmesini istiyorsak ne yapacağız? Makalenin devamında bu sorunun cevabını bulabilirsiniz.

Bu işlemler aslında oldukça basit bir "if-else" koşulundan ibaret olaylardır. Eğer basit de olsa bir programlama geçmişiniz var ise rahatlıkla istediğiniz gibi kısıtlamalar yapabilirsiniz.

Biz bu örnekte, giriş yapmamış kullanıcılara üye giriş formunu, eğer kullanıcı giriş yapmış ise "Hoş geldin (kullanıcı adı)" şeklinde bir karşılama mesajı göstereceğiz. Şimdi ilgili dokümanı açıp "Applications" panel grubunda yer alan "Bindings" panelini açıyoruz. (+) işaretine tıklayarak açılan menüden "Session Variable" seçeneğine tıklıyoruz.

Binding panelinden Session Variable seçeneğine tıklıyoruz

Binding panelinden Session Variable seçeneğine tıklıyoruz

 Açılan iletişim penceresinde "Name" kısmına "MM_Username" yazıyoruz ve "OK" diyoruz. Böylece ilgili oturumdan "MM_Username" isimli değişkeni sayfamızda kullanabileceğiz.

Oturum değişkeni tanımlama penceresi

Oturum değişkeni tanımlama penceresi

Şimdi kod görünümüne geçip sayfanın en üst kısmına şu kodu ekliyoruz.

  1. <?php
  2. if (!isset($_SESSION)) {
  3.   }
  4. ?>
  5.  

Ardından sayfada üyelerin giriş yapmadıkları zaman görecekleri kısmın kaynak kodunu buluyoruz. Bu tür işlemlerde nesneleri veya görünmesini-gizlenmesini istediğiniz bölümü bir tablo ya da DIV içerisine alarak sınırlarını daha kolay kestirebilirsiniz. Böylece kod görünümünde çalışmakta oldukça kolaylaşacaktır.

Bu bölümün başına gelip (biraz önce bahsettiğimiz üzere tablo ya da DIV'in başlangıcı olabilir) Aşağıdaki PHP kodunu yazıyoruz.

  1. <?php if (!$_SESSION['MM_Username']) { ?>
  2.  

Burada kod yazarken oturum değişkenini "Bindings" panelinden sürükleyerek ilgili kısma ekleyebilirsiniz, böylece kod yazarken oldukça konforlu bir biçimde değişkenleri koda dahil edebilirsiniz.

Oturum değişkenini ilgili kısma sürükleyip bırakıyoruz

Oturum değişkenini ilgili kısma sürükleyip bırakıyoruz

Aynı şekilde giriş yapmış üyelerin görmemesi gereken kısmın sonuna gidiyoruz (tablo yada DIV'in bitişi) aşağıdaki kodu yazıyoruz.

  1. <?php } ?>
  2.  

Böylelikle ilgili kısmı bir PHP "if" ifadesi içerisine almış olduk. Bu ifadenin koşulu olan "!$_SESSION['MM_Username']" ifadesinin başındaki ünlem işareti (!) bu değişkenin tanımlı olmaması gerektiğini veya boş olduğu durumu belirtiyor. Yani "MM_Username" isimli oturum değişkeni tanımlı değilse veya boş ise bu ifadeyi göster demiş olduk. Şimdi bu ifadenin tersi olan koşul yani üyenin giriş yaptığı durumda sayfaya bir şeyler yazdırmak istiyor isek "if" ifadesinin bittiği "}" parantezi bulup şu şekilde değiştirebiliriz.

  1. <?php } else { ?>
  2.  

Buradaki "else" ifadesi de biraz önce belirtilen koşulun yerine gelmediği durumu belirtiyor. Bu kod parçasından sonra giriş yapan üyelerin göreceği ifadeleri sayfaya ekleyebiliriz. Bu örnekte bir karşılama mesajı vereceğiz. Onun için şu kodu devamına ekliyoruz.

  1. <p>Hoşgeldin, <strong><?php echo $_SESSION['MM_Username']; ?></strong>. Çıkış yapmak için <a href="logout.php">buraya tıklayınız</a>.</p>
  2.  

Tabi her "if-else" ifadesinde bir de bitiş olmalı. Son olarak aşağıdaki kodu ekliyoruz.

  1. <?php } ?>
  2.  

Böylece sadece üyelerin görebileceği bir karşılama mesajı ve giriş yapmamış üyelerin göreceği bir üye giriş formu yapmış olduk. Kaynak kodun son hali şuna benziyor.

  1. <?php if (!$_SESSION['MM_Username']) { ?>
  2. <div id="GirmesmisUye">
  3. <form id="uye_giris" name="uye_giris" method="post" action="login.php">
  4. <table class="formtables">
  5.  
  6. ...
  7. </table>
  8. </form>
  9. <p><a href="register.php">Kayıt olmak istiyorum</a> / Şifremi unttum </p>
  10. </div>
  11. <?php } else { ?>
  12. <p>Hoşgeldin, <strong><?php echo $_SESSION['MM_Username']; ?></strong>. Çıkış yapmak için <a href="logout.php">buraya tıklayınız</a>.</p>
  13. <?php } ?>
  14.  

ASP sunucu modeli ile çalışan arkadaşlariçin kod şu şekilde olmalı;

  1. <%
  2. If Session("MM_Username") <> "" Then
  3. %>
  4. <div id="GirmesmisUye">
  5. <form id="uye_giris" name="uye_giris" method="post" action="login.asp">
  6. <table class="formtables">
  7. ...
  8. </table>
  9. </form>
  10. <p><a href="register.php">Kayıt olmak istiyorum</a> / Şifremi unttum </p>
  11. <%
  12. Else
  13. %>
  14. <p>Hoşgeldin, <strong><%=Session("MM_Username")%></strong>. Çıkış yapmak için <a href="logout.asp">buraya tıklayınız</a>.</p>
  15. <%
  16. End If
  17. %>
  18.  

Bu işlemi görsel olarak yapmanıza olanak sağlayan "PHP Show If Recordset Field Condition Is True" ya da ASP sunucu modeli ile çalışanlar için "Conditional Region" isimli eklentiyi sitemiz dosya arşivinden temin etmeniz de mümkün. Fakat temel bir PHP koşullu ifadesinin nasıl olduğunu görmeniz açısından bu kod örneğini vermeyi uygun buldum.

İşlemin sonucu bu şekilde olacaktır

İşlemin sonucu bu şekilde olacaktır

Üyelere özel sayfa ve ifadeleri nasıl yaptığımızı öğrendik. Aynı mantık çerçevesinde kullanıcı yetkilerine özel "if-else" ifadeleri de yazabilmemiz mümkün. (Örneğin sadece yetkisi yönetici olan üyelerin görebileceği ifadeler) Tamamen sizin yaratıcılığınız ve hayal gücünüz ile sınırlı. Üyelik sistemimizde bir sonraki aşama üye profilini güncelleme sayfasının yapımı. Bir sonraki makalede görüşmek dileğiyle.

Kaynak www.dw.gen.tr/

Yorumunuzu Ekleyin
Dreamweaver ile Üyelik Sistemi - Üyelere Özel Sayfa ve İfadeler Yorumları +6 Yorum
  • burak
    1
    burak
    yha qüzel anlatmışınız ama ben yapamadım bi türlü kafam allah bullah oldu bi yerde hata wr ama nrde yardımcı olursanız sevinirim ... msnden ulaşırmısını heart.thief01@hotmail.com baaba
    30 Aralık 2010 12:40:52, Perşembe
  • yahya
    1
    yahya
    berbat bir anlatım, başka hiçbir yerde de bu konu yok. Lütfen tekrar daha sade anlatırmısınız
    29 Haziran 2011 12:05:28, Çarşamba
  • zafer
    1
    zafer
    emeğiniz için teşekkürler.

    bişey öğrenmem lazım.

    illa php mi olmalı sayfa.

    asp.net ile yapılamıyor mu?
    01 Ocak 2012 22:40:48, Pazar
  • harun
    1
    harun
    arkadaşlar bu dersi video olarak yayınlamanız mümkün mü
    25 Eylül 2012 15:39:25, Salı
  • serdar
    1
    serdar


    Warning: session_start [function.session-start]: Cannot send session cookie - headers already sent by output started at /......... bu hatayi veriyor
    24 Ekim 2012 23:10:59, Çarşamba
  • Ela
    1
    Ela
    Arkadaşlar biri Allah rızası için Resimli anlatsın Sension nasil yapilir ...Rica ediyorum lütfenn
    23 Eylül 2014 10:34:22, Salı


Yükleniyor...
    Yükleniyor...