Üyelik sistemi olan web sitelerinde parolamı unuttum özellikleri bulunmaktadır. Bunun Sebebi şifre bilgilerini unutan kullanıcılara, şifrelerini hatırlatmak ya da yeni şifre vrmektedir. Bu bölümde basit bir şifre unuttum uygulamasını kendi hayali web sitemiz için işleyeceğiz.

Üyeler Tablosu:
Kulllanıcı Adı E-Mail Şifre
Admin eposta@siteadı.com 12345

Not: Kitabımda burayı tablo olarak vermiş ben yapamadığım için böyle oldu.

Kendi hayali web sitemizin üyelerin bulunduğu Üyeler Tablosu yukurıda görülmektedir. Kullanıcı adi admin olan üyenin e-mail adresi eosta@siteadı.com ve şifre bilgisi 12345'tir. Güvenlikli bir web sitesinde üyeler tablosunda bulunan Şifre alanında bilgiler şifrelenmiş şekilde depolanmalıdır. Bu sayede şifre bilgisini ulaşmak üçüncü kişiler tarafından zorlaşmış olmaktadır.Zorlaşmış dedik,çünkü hiçbir zaman imkansız diyemeyiz. Metin işleme fonksiyonları bölümünde işlediğimiz (Ben Bunlar Hakkında daha konu açmadım açınca gösteririm) md5 ve crypt şifreleme fonksiyonları konusunda bu tarz bir örnek mevcuttur.Biz bu uygulama şeklinde yapacağız.

Öncelikle hayali web sitemize giriş yapmak isteyen kullanıcının,şifresini unuttuğunu fark ettiği anda erişeceği sayfa olan sifremiunuttum.html sayfasını oluşturalım.


HTML-Kodu:
<html>
<head>
<meta +++++++++++="Content-Type" content="text/html; charset:"utf-8" />
</head>
<body>
<form action="sifremiunuttum.php" method="POST">
E-Posta adresiniz: <input name="eposta" type="text" id="eposta" /><input type="submit" value="Bilgileri Gönder />

</form>
</body>
</html>
Üyeliğinde tanımlo e-posta adresini yazıp butona basan kullancıya içeriğinde şifre bilgisi mevcut olan bir e-posta gönderilecektir. Bu işlemin yapıldığı sayda. <form> içerisinde bulunan action özelliğinin değeri olan sifremiunutttum.php sayfasıdır.


PHP- Kodu:
$baglanti = mysql_connect("localhost","username", "password");
mysql_select_db("dbname , $baglanti);
$eposta = $_POST['eposta'];
$sifre = mysql_result(mysql_query("SELECT SIFRE FROM UYELER WHERE EMAİL='".$e
posta."'"),0,'SIFRE');
$konu = 'PAROLA HATIRLATMA';
$ileti = 'PAROLANIZ: '.$sifre.'';
$baslık = 'From; info@siteadresi.com' . "\r\n" .
'Reply-To: info@siteadresi.com' . "
\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail(
$kime, $konu, $ileti, $baslik)) {
echo "
SIFRE BILGILERI E-POSTA BASARIYLA GONDERILMISTIR.";
}
else {
echo "
SIFRE GONDERIM ISLEMINDE BIR SORUN TESPIT EDILMISTIR.";
}



Yukarıdaki kodlar sifremiunuttum.php dosyasına aittir.Şimdi bu dosyada bulunan
kodları inceleyelim.
PHP- Kodu:
$baglanti = mysql_connect("localhost, "username", "password");
mysql_select_db("
dbname, $baglanti);


Mysql veri tabanını bağlantısı yaptık ve $baglanti değişkene tanımladık.

PHP- Kodu:
$epostta = $_POST['eposta'];
$sifre = mysql_resualt(mysql_query("SELECT SIFRE FROM UYELER WHERE EMAIL='".$eposta."'"),0,'SIFRE');


Kullanıcı tarafından girilen eposta adresini $eposta değişkeni tanımladık ve UYELER tablosundan, bu kullanıcıya ait şifre bilgisini SIFRE alanında getirdik. Bu şifreyi de $sifre değişkenine tanımladık.

PHP- Kodu:
$konu = 'PAROLA HATIRLATMA';
$ileti = 'PAROLANIZ ASAGIDA GOSTERILMEKTEDIR<br>PAROLA: '.$sifre.' ' ;
$baslik = 'From: infor@siteadı.com' . "\r\n" .
'Reply-To info@siteadı.com' . "\r\n" .
'X-Mailler: PHP/' . phpversiyon();


Parola hatırlatıcı mail için konu, başlık ve içerik bilgilerini $konu, $ileti ve $baslik değişkenleriyle tanımladık.

PHP- Kodu:
if (mail($kime, $konu, $ileti, $baslik)) {
echo
"SIFRE BILGILERİ E-POSTA ADRESINIZE BASARIYLA GONDERILMISTIR.";
}
else {
echo
"SIFRE GONDERIM ISLEMINDE BIR SORUN TESPIT EDILMISTIR.";
}


Hatırlatma maili bu satırlarda gönderilmektedir. Gönderim İşlemi sonucunda kullanıcıya işlem ile ilgili olumlu ya da olumsuz mesaj gösterilmektedir.

İşlem Başarıyla tamamlandığında gelen mail kutusunda hatırlatma e-maili görülebilmektedir.

Not: Kendi Ellerimde Kitaba Baka baka yazdım
Kaynak Kitabım: Uygulamalarla Php