4 - Üyelik sistemi
Üyelik sistemi





Bir üyelik sisteminin oluşturulması için bir veritabanının varlığından söz etmek gerekir. Bu veritabanında membership

adında bir tablo olmalı. Bu tablonun alanları ise, userid, username,password, IP, Email, freq gibi alanlardan olmalı. Bu alanlardan en

önemlileri username ve password alanlarıdır ve diğerleri isteğe göre değiştirilebilir. Bu tablonun primary key'si userid alanıdır ve bu alan

diğer tablolarla ilişki kurmak için çok ideal bir alandır. Bu alanın en büyük özelliği eşsizdir, yani tablodaki her kayıt için bu alanın değeri farklıdır.



MS-SQL Server'da, bu tabloyu oluştururken dikkat edilmesi gereken, userid alanının otomatik olarak değişmesidir. Userid alanının tipi  integer olmalıdır.

Username, password,IP ve email gibi alanlar varchar(N) tipinde olmalıdır. Buradaki N verinin boyutunu gösterir. Freq alanı uyenin ne kadar sıklıkta

geldigini göstermek için kullanılabilecek olan bir alandır ve tipi de integer olmalıdır.



Üye kaydedebilmek için ise, bir form taşıyan bir html dosyasına ihtiyaç var.



<form name="membership" action="membership.asp" method="post">

<table>

<tr>

<td>User Name </td>

<td><input type="text" name="username" value="">

</tr>



<tr>

<td>Password</td>

<td><input type="password" name="password" value="">

</tr>



<tr>

<td>Email</td>

<td><input type="text" name="email" value="">

</tr>



..................

.................

...............



<tr>

<td><input type="submit" name="continue" value="BECOME A MEMBER">

</tr>





</table>

</form>



Nokta nokta olan yerlere isteğe göre alanlar eklenebilir. Burada önemli olan kısım ise, eklediğimiz alanların veritabanında da yer alıyor olması

gerektiğidir.



Bu form "BECOME A MEMBER" butonuna tıklandığında, "membership.asp" adlı dosyaya bilgi gönderecektir. Bu dosya server'da bulunması gereken

bir dosyadır.



Bu dosyanın içeriği ise,



<%

dim sqlstring,connectionstring,username,password,email,..............



Connectionstring="PROVIDER=SQLOLEDB;DATABASE=MEMBERSHIP;USER ID=SA;PASSWORD=000019"

SET Connection=server.createobject("ADODB.Connection")



connection.open connectionstring



username=Trim(Request.Form("username"))

password=Trim(Request.Form("password"))

email=Trim(Request.Form("email"))

......................

....................



sqlstring="insert into membership (username,password,email) values ('"&usename&"',''"&password&"',''"&email&"')"



SET RecordSet=Server.CreateObject("ADODB.RecordSet")



RecordSet.Open sqlstring,connection,adopenstatic,adlockoptimistic,adcmdtext





SET RecordSet=NOTHING



SET Connection=NOTHING



%>



Buradaki connectionstring değişkeninin içerdiği bilgi, veri tabanına bağlanmak için gerekli olan bağlantı ifadesidir.Database adı olarak,

veri tabanına verdiğimiz isim kullanılmalıdır. User Id SQL Server'a bağlanmak için kullanılan user id ve password de SQL Server'a bağlanmak

için gerekli olan şifredir. Daha sonra ki satırda yapılan ise, ADO nesnesini kullanarak bundan bir örnek yaratmak ve veri tabanı ile bağlantının

sağlanılmaya çalışılmasıdır. Diğer kullanılan nesne ise ADO nesnesine ait olan RecordSet nesnesidir.



Böylece üye tabloya işlenmiş oldu. Böyle bir üyelik sistemi oluşturmak üç ayaklı bir olaydır. İlk ayağı sunucuya gönderilecek olan istemci verisinin

yani formun hazırlanması, diğer ayak veri tabanı tasarımı ve son ayak ta, veri tabanı ile istemcinin konuşmasını sağlayan ASP kodudur. Tabi bu kod,

sadece üyeyi veri tabanına yazmaktadır. Dikkat edilmesi gereken konu, üye isminin veya şifrenin bir başkası tarafından kullanılıyor olup olmadığıdır.

Yani, tabloya bir üyeyi kaydetmeden evvel bunun da kontrolünün yapılması gerekir. Bu bir başka yazıda olacak.
 
 
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol