Konular

Dreamweaver ile Üyelik Sistemi - Üye bilgileri güncelleme sayfası

Bu makale dizisi ile Dreamweaver kullanarak sitemiz için bir üyelik sistemini nasıl yapacağımızı inceleyeceğiz. Üyelerimizin üye olurken verdiği bazı bilgileri değiştirebileceği ve profillerini güncelleyebilecekleri sayfaları nasıl yapacağımızı bu makalede göreceğiz
www.dijitalders.com

Üyelik sistemini kullanan üye bilgilerini değiştirmek isteyebilirler. Bu imkanı mümkün kılan üye profili güncelleme sayfalarını Dreamweaver ile yapmak hiç de düşünüldü kadar zor değil. Zira basit bir veri güncelleme formu (update record) ve oturum bilgisine göre filtrelenmiş bir kayıt dizisi (recordset) bu işlemi yapmak için yeterli işlemlerdir. Bu uygulamada bu işlemleri nasıl birleştireceğimizi göreceğiz.

Öncelikle yeni bir PHP dokümanı oluşturup sitemiz altında uygun bir yere uygun bir isim ile (profile.php) kaydediyoruz. Sayfada görsel değişiklikleri istediğiniz gibi yapabilirsiniz. Bu sayfanın sadece üyelere özel bir sayfa olması ve oturum bilgisine ihtiyacımız olduğundan bu sayfaya üyelere özel bir biçimde yetki kısıtlaması (Restrict Acces To Page) vereceğiz. Bu işlemi yapmazsak kayıt dizisi için kullanacağımız oturum bilgisine erişemeyiz dolayısı ile üye bilgilerini çektiremeyiz.

Bu işlem için 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

Bunun dışında, bir veri güncelleme işlemi yapacağımız için üye kaydında kullandığımız forma benzer bir form yaratmalıyız. Bu formu nasıl yapacağımızı daha önce bir çok defa anlatmıştık. Formumuzun genel yapısını aşağıdaki resimden inceleyebilirsiniz.

Üye profili güncelleme formu

Üye profili güncelleme formu

Dikkatinizi çekeceği üzere bu formumuzda üye kullanıcı adını güncellemeyeceğiz. Üyelerinizin kimliklerini koruyabilmek adına bu kısıtlamayı kullanabilirsiniz. Tabi bu tamamıyla sizin isteğinize kalmış.

Formu yaratırken dikkat edeceğimiz bir diğer nokta ise üye ID numarasının tutulduğu bir gizli alana (UserID : hiden field) ihtiyacımız olmasıdır. Bu üye ID numarasına göre veri güncelleme işlemi sırasında veritabanındaki hangi kaydın güncelleneceğini belirtmiş olacağız.

Üye bilgisi için kayıt dizisi tanımlama

Formumuzu uygun şekilde hazırladıktan sonra sıra bu form içerisine üyemizin şu anki bilgilerini yazdırmaya geliyor. Bunu da tabi ki bir kayıt dizisi ile yapacağız. Fakat hangi üyenin bilgilerini çektireceğimiz bilgisini nereden alacağız? İşlemin en can alıcı noktası olan bu bilgiyi bir önceki makalemizde de anlattığımız üzere DW ile hazırlanmış üyelik sistemlerinde giriş yapmış kullanıcının kullanıcı adı bilgisinin tutulduğu oturum değişkeni olan "MM_Username" değerinden alacağız. Bu değişkene göre kaydımızı çektirecek ve formumuzun içerisine yazdıracağız.

Üye bilgilerini çektirdiğimiz kayıt dizisi

Üye bilgilerini çektirdiğimiz kayıt dizisi

Kayıt dizisini tanımlarken "Filter" bölümünden üye kullanıcı adının tutulduğu "kullanici_adi" alanını "MM_Username" oturum değişkenine (Session Variable) göre eşitliğinin belirtecek şekilde ayarlıyoruz. Kayıt dizimiz için yapacaklarımız bu  kadar "OK" diyerek işlemi tamamlayabilirsiniz.

Kayıt dizimizi tamamladıktan sonra "Application" panel grubu altındaki "Bindings" panelinde listelenen veritabanı alanlarını uygun form elemanlarının içerisine sürüklüyoruz. Bu işlemi nasıl yapacağımızı "Dreamweaver ile veri güncelleme sayfalarının yapımı" başlıklı makalede dile getirmiştik.

Kayıt dizisindeki alanları ilgili form elemanlarının içine yazdırıyoruz

Kayıt dizisindeki alanları ilgili form elemanlarının içine yazdırıyoruz

Bu işlemin ardından formumuz aşağıdaki gibi görünecektir.

Üye bilgisi formunun DW içerisindeki görünümü

Üye bilgisi formunun DW içerisindeki görünümü

Bilgilerin güncellenmesi

Formumuz ve üye bilgilerimiz hazır olduğuna göre bu formdaki bilgilerin veritabanındaki ilgili kaydı güncellemesi işlemini yapabiliriz. Bunun için "Server Behaviors" panelinden (+) işaretine tıklayıp açılan menüden "Update Record" seçeneğine tıklıyoruz.

Server Behaviors menüsünden Update  Record seçeneğine tıklıyoruz

Server Behaviors menüsünden Update Record seçeneğine tıklıyoruz

Açılan kayıt güncelleme iletişim penceresinden gerekli yapılandırmaları yapıp bilgi güncelleme formumuzu tamamlayabiliriz.

Profil bilgileri güncelleme iletişim penceresi

Profil bilgileri güncelleme iletişim penceresi

Bu aşamada yaptığımız yapılandırmalar önceki makalelerde anlatılan kayıt bilgisi güncelleme işlemlerinden çok da farklı değil. Birincil anahtar olan üye ID numarasının tutulduğu "id" alanının formdan gelen gizli form elemanı olan "UserID" alanı ile eşleşmesine ve "Primary key" seçeneğinin işaretli olduğuna dikkat etmeliyiz.

Hangi kaydı güncelleyeceğimiz bilgisini formdan gelen bu "UserID" alanından belirliyoruz. Fakat burada ciddi bir güvenlik açığı ortaya çıkıyor. Sayfanın kaynak koduna bakan herkes bir ID numarasının tutulduğu gizli bir form elemanının olduğunu fark edece ve bu numarayı değiştirerek başka kullanıcıların bilgilerini de değiştirebileceğini anlayacaktır. Öte yandan bu kendi bilgisayarında hazırladığı başka bir formu sizin formunuza göndererek site sahibi yada yöneticisi konumundaki diğer üyelerin bilgilerini (ve tabi ki şifresini de) değiştirebilecektir. Bunu engellemek için sayfanın PHP kodlarına küçük bir el kodlaması ile müdahale edeceğiz.

Yapacağımız işlem şu şekilde; üyenin gönderilen formdan gelen kullanıcı ID numarasının (bu örneğimizde "UserID") şu anki oturum açmış kullanıcının ID numarası ile uyuşup uyuşmadığını kontrol etmek şeklinde olacak. İlgili PHP kodunu veri güncelleme manipulasyonundan önce ve "GetSQLValueString" fonksiyonundan sonra bir yere eklemelisiniz.

mysql_select_db($database_baglantim, $baglantim);
$CheckUserSQL=sprintf("SELECT id FROM blg_uyeler WHERE kullanici_adi=%s",
GetSQLValueString($_SESSION['MM_Username'], "text"));
$CheckUserQuery = mysql_query($CheckUserSQL, $baglantim) or die(mysql_error());
if (mysql_num_rows($CheckUserQuery)) {
            $CheckUserID  = mysql_result($CheckUserQuery,0,'id');
            if ($CheckUserID != $_POST['UserID'] && isset($_POST['UserID'])) {
                        echo("Kullanici bilgisi uyusmuyor! Lutfen yeniden giris yapip tekrar deneyiniz");
                        exit;
                        }
            }
 

Tabi ki burada geçen veritabanı SQL sorgusundaki alan isimleri ve formdan gelen üye ID numarası bilgisi olan "$_POST['UserID']" değişkenini kendi çalışmanıza uygun olarak değiştirmelisiniz.

ASP sunucu modeli ile çalışan arkadaşlar için ilgili kod ise şu şekilde;

Dim CheckUserSQL
Dim CheckUserSessionVar
Dim CheckUser
Dim CheckUser_cmd
Dim CheckUserFormVar
 
CheckUserSessionVar = Session("MM_Username")
CheckUserFormVar = Request.Form("UserID")
CheckUserSQL = "SELECT id FROM blg_uyeler WHERE kullanici_adi=?"
 
Set CheckUser_cmd = Server.CreateObject ("ADODB.Command")
CheckUser_cmd.ActiveConnection = MM_baglantim_STRING
CheckUser_cmd.CommandText = CheckUserSQL
CheckUser_cmd.Parameters.Append CheckUser_cmd.CreateParameter("param1", 200, 1, 32, CheckUserSessionVar)
CheckUser_cmd.Prepared = true
Set CheckUser = CheckUser_cmd.Execute
If Not CheckUser.EOF Or Not CheckUser.BOF Then
            If (CheckUserSessionVar <> "") And (CheckUserFormVar <> CheckUser.Fields.Item("id").Value) Then
            Response.Write "Kullanici bilgisi uyusmuyor! Lutfen yeniden giris yapip tekrar deneyiniz"
            Response.End
End If
CheckUser.Close
  1.  

Böylece üye bilgisi güncelleme işlemini de tamamlamış oluyoruz. Yapmanız gereken giriş yapmış kullanıcıların bu üye bilgisi güncelleme sayfasına (profile.php) erişebilecekleri bir link yaratmak. Geriye üyelik sistemimizin son parçası olan "şifre hatırlatma sayfası" kalıyor. Onu da yazı dizimizin son makalesinde inceleyeceğiz. Yeni bir makalede görüşmek dileğiyle, herkese iyi çalışmalar.

Kaynak www.dw.gen.tr/makale/detay/dreamweaver-uyelik-profil-bilgi-guncelle/

Yorumunuzu Ekleyin
Dreamweaver ile Üyelik Sistemi - Üye bilgileri güncelleme sayfası Yorumları +3 Yorum
  • Frozen
    1
    Frozen
    Ellerine Saglik
    09 Şubat 2010 16:29:51, Salı
  • hatice
    1
    hatice
    teşekkürler
    04 Nisan 2010 17:56:58, Pazar
  • acemi_dreamweaver_user
    1
    acemi_dreamweaver_user
    Ellerinize saglik hocam cok tesekkurler.
    10 Şubat 2013 17:09:30, Pazar

Veri giriş formu yapmak

Bu işlem için DW'da iki seçeneğimiz var; bunlardan ilki formlarımızı kendimiz tasarlayıp daha sonra bu formun hangi veritabanı tablosuna hangi bilgiyi gireceğini belirtmek. İkinci seçenek ise DW'ın içerisindeki bir sihirbaz aracı ile bu form yaratma işlemini de DW'ın üzerine yıkmak. Ben ilk yöntemi yani el ile kayıt girme formları nasıl yapılıyor onun üzerinde duracağım. Diğerinin bundan çok da bir farkı yok zaten. Evet başlıyoruz;

45,438 Okunma Henüz yorum yapılmamış 31/08/2007 03:20:54

Dreamweaver ile Üyelik Sistemi - Şifre Hatırlatma Sayfası

Bu makale dizisi ile Dreamweaver kullanarak sitemiz için bir üyelik sistemini nasıl yapacağımızı inceleyeceğiz. Son olarak şifrelerini unutan üyelerimize nasıl bir hatırlatma mesajı yollatacağımızı inceleyeceğiz

42,133 Okunma Henüz yorum yapılmamış 31/08/2007 14:11:37

Dreamweaver ile Üyelik Sistemi - Üye Kaydı

Bu makale dizisi ile Dreamweaver kullanarak sitemiz için bir üyelik sistemini nasıl yapacağımızı inceleyeceğiz. İlk olarak üye kaydı sayfasını yaparak işe başlıyoruz

31,772 Okunma Henüz yorum yapılmamış 31/08/2007 13:48:25

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

30,832 Okunma 6 Yorum 31/08/2007 13:57:39

Fotoğraf Albümü Oluşturalım

Dreamweaver içinde fotoğraflarımızı web sayfası şeklinde yayınlamaya yarar bir menü barındırır

27,773 Okunma 1 Yorum 06/08/2007 14:33:13

Map Özelliği

Map özelliği çağrı kasapoğlu

23,272 Okunma Henüz yorum yapılmamış 13/03/2008 14:20:52

Show-hide Elements

Show hide elements ile dreamweaver içerisinde kompleks uygulamalar yapmak oldukça kolay, şimdi bunu nasıl yapacağımızı göreceğiz;

21,531 Okunma 2 Yorum 07/08/2007 14:26:47

Hotspot Eklemek

18,798 Okunma Henüz yorum yapılmamış 27/07/2007 15:01:18

Map Ve İç Pencere Açmak

Dreamweaver behaviors kullanarak bir resim üzerindeki map ile belirlediğiniz alanlara fare gelince o alanla ilgili daha büyültülmüş bir resmi ekrana çıkaran uygulama. Daha büyük resim yeni web sayfası açılmadan gözükmektedir.

18,413 Okunma Henüz yorum yapılmamış 01/05/2008 09:59:41

Image Map

Image map

16,547 Okunma Henüz yorum yapılmamış 13/03/2008 14:20:41

Yükleniyor...