.:: DERS 2 ::.
Şifremi unuttum.Mailime yolla...
Üyelik sistemleriyle çalışan websitelerinin en büyük ortak problemlerinden biri kullanıcıların şifrelerini unutmalarıdır.Eğer kullanıcılar kayıt olurken onlardan e-maillerini isteyip veritabanınıza kaydetmişseniz sorun yok ,kolay halledilebiecek bir problem.O zaman hemen site anasayfasındaki kayıt formumuzun içinde bir yere şifremi unuttum mailime gönder yazıp altına bir textbox koyup bu işlemin ilk bölümüne adım atalım.(şunuda yeni tasarımcılara belirteyim ki bu textbox'a kullanıcı daha önce kayıt yaptırırken yazdığı e-mail adresini girecek yoksa kayıtlarımızda böyle bir e-mail adresi yoktur diye kullanıcıyı uyaracaktır.)
ikinci adımımız access de bir veritabanim adıyla bir veritabanı dosyası oluşturalım(siz daha önceden oluşturduğunuz dosyaya da entegre edebilirsiniz yeter ki yolu anlayın.) sonra tblkullanicilar diye bir tablo yaratalım veritabanim dosyamızın içinde ,sonra da alanları belirleyelim.Alanları ya da sütunları şöyle olacak
1.sütun ID -otomatik numara olacak
2. sütun uKullanici_adi - metin alanı olacak
3.sütun uSifre - metin alanı olacak
4.sütun uEmail - metin alanı olacak
5.sütun uGiris_Tarihi -tarih/saat alanı olacak
Şimdi aşağıda kodlarını yazacağım bir sifre.asp diye bir dosya yaratmaya başlayalım.
(bu asp formuna textbox'ı eklemeyenler içindir.Ekleyenler varsa aşağıdaki koda göre form değişikliklerini yapsınlar name,method ve action özelliklerini.)
<form name="sifre" method="post" action="konfirme.asp">
<table width="100%">
<tr><td>Email:</td>
<td><input type="text" name="Email" size="50">
<input type="submit" name="Submit" value="Gönder">
</td></tr></table>
</form>
şimdi kısaca bir toparlayalım elimizde veritabanım adlı bir access dosyası,dosyanın içinde tblkullanicilar tablosu ve yukarıda belirttiğim şekilde ve düzende alanları ve bir de sifre.asp adıyla bir formumuz var.
Devam edelim...
Şimdi de son adım olarak konfirme.asp adıyla bir dosya yaratıp aşağıda vereceğim kodları (DİKKATLİCE YAZALIM-COPY_PASTE YAPMADAN)copy-paste yaparsanız sadece öğrendim diye kendinizi kandırırsınız o kadar.Şunu da ayrıca belirteyim bağlanti.asp diye bir dosya daha yaratacaksınız ve bunu konfirme.asp dosyasına include özelliğiyle siz ekleyeceksiniz bu konuyu atlayacağım neden derseniz kolay yapılacak bir asp include olayını da biraz araştırmanızı tavsiye ediyorum.
(Çok israr olursa ki zannetmiyorum onu da yazarım.)
Evet devam edelim konfirme.asp dosyamıza aşağıdaki kodları yazıyoruz.
Option Explicit
<%
DIM strEmail
strEmail = Request.Form("Email")
IF strEmail <> "" THEN
%>
<%' Aşağıdaki asp'yi siz yaratıp sitenizin ilgili dizinine upload edeceksiniz %>
<%
DIM mySQL, objRS
mySQL = "SELECT uEmail,uSifre,uKullanici_adi FROM tblkullanicilar WHERE uEmail = '" & strEmail & "'"
Set objRS = Server.CreateObject("ADODB.Recordset")
'ipucu objConn kelimesi includes klasöründe yaratacağınız bağlanti.asp ie ilgili
objRS.Open mySQL, objConn
IF objRS.EOF THEN
Response.Write "Yazdığınız mail adresi kayıtarımızda bulunamamıştır .Lütfen tarayıcınızın geri butonuna basarak sitemize kayıt olurken beirttiğiniz email adresinizi yazın."
ELSE
DIM strSifre,strkadi
strSifre = objRS("uSifre")
strkadi = objRS("uKullanici_adi")
'Buradan sonra çoğu hosting hizmeti veren serverların tanıdığı CDONTS componentini kullandık.
'Neden CDONTS çünki bir standart olmaya en yakın aday olduğu
've tanındığından
'Ama siz; yok ben başka component kullanacağım diyorsanız ASPMail-'ASPEmail,Persistve JMail 'componentlerini tavsiye edebilirim.
'Ama teker teker o komponentlerin kodlarını yazmayacağım.
DIM mail, objMail
Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From = "sizinemailadresiniz@sizinsiteniz.com"
objMail.Subject = "Sizinsiteniz.com şifreniz"
objMail.To = strEmail
objMail.Body = ""sizinsiteniz.com kullanıcı adınız :" & strkadi & vbCrLf & vbCrLf & "şifreniz : " & strSifre & vbCrLf
objMail.Send
Set objMail = nothing
Response.Write "Şifreniz belirtilen mail adresinize yollanmıştır ."
END IF
ELSE
Response.Write "Şifreniz belirtilen mail adresinize yollanamamıştır .Lütfen tarayıcınızın geri butonuna basarak sitemize kayıt olurken beirttiğiniz email adresinizi yazın."
END IF
%>
İşte hepsi bu kadar arkadaşlar baglanti.asp yi yazıp include etmeyi unutmayın artık sizinde kullanıcılarınıza daha iyi hizmet verebileceğiniz bir şifremi unuttum servisiniz oldu

Benden bu kadar şimdilik biraz kahve ve sigaramla başbaşa kalmak ve yeni kodlar yazmak istiyorum.Kendinize iyi bakın.Unutmadan bir sorunuz olursa buradan yardımcı olacağım maille değil ve bu ders notları sadece pcmagazine.com.tr de yayınladım başka hiçbir yere aynısını kopyalamadım.3.dersim üyelik sistemlerinde beni hatırla checkboxı oluşturup cookie'ler yardımıyla kullanıcıarın checkbox'ı aktif ettiklerinde sitemize tekrar giriş için kullanıcı adlarını ve şifrelerini cookieden alacağı güzel bir kod yazacağım.Hadi artık bana müsaade su kaynadı KAHVEEEE
AcTiVe_CoDeR
Knowledge is the POWER