Günümüzde internet dünyasında hemen hemen bir çok sitede üyelik sistemini görmekteyiz.Bu makaledede PHP ile üyelik sisteminin nasıl yapılacağı hakkında bilgiler edineceğiz.Makaleyi okumak için intermediate(orta) düzeyde PHP bilginiz olması gerekmektedir.
Makalenin içerdiği sayfalar;
fonksiyonlar.php = Fonksiyonları içeren sayfa
kayit.html = Kullanıcıların siteye üye olabilmesini sağlayan sayfa
uyepostala.php = Kullanıcının siteye üye olurken girdiği bilgileri veritabanına yazan ve aktivasyon linki gönderen sayfa.
aktifle.php = Kullanıcının hesabını aktif eden sayfa.
index.php = Anasayfa, kullanıcın karşılaştığı ilk sayfa (Login)
giriskontrol.php = Kullanıcı adı ve parolasını kontrol eden sayfa
yeni_sifre.html = Şifresini unutan kullanıcıların yeni bir şifre istemeleri için gereken form.
sifre_unuttum.php = yeni_sifre.html den gelen email adresine yeni şifre gönderen sayfa.
Öncelikle MySQL'de uyelik adında bir veritabanı yaratıp, şu sorguyu çalıştıralım:
CREATE TABLE kullanicilar (
id int(25) NOT NULL auto_increment,
ad_soyad varchar(25) NOT NULL default '',
kullanici varchar(25) NOT NULL default '',
sifre varchar(255) NOT NULL default '',
email varchar(25) NOT NULL default '',
hakkinda text NOT NULL,
kullanici_seviye enum('0','1','2','3') NOT NULL default '0',
kayit_tarih datetime NOT NULL default '0000-00-00 0000',
akod varchar(255) NOT NULL default '',
aktiflik enum('0','1') NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM;
Sorguyu çalıştırdıktan sonra MySQL veritabanı bağlantısını yapalım.
fonksiyonlar.php
<?php
// Db bağlantısı
function db_baglanti()
{
$db_host = "localhost";
$db_kullanici = "root"; // Db kullanıcı adınız
$db_sifre = ""; // Db şifreniz
$db_adi = "uyelik"; // Db adınız
Fonksiyonlara diğer sayfalardan ulaşabilmek için tek sayfada toplamak daha mantıklı olacaktır.Şimdi kullanıcıların kayıt olacağı basit bir form hazırlayalım.
Kullanıcı bu formu doldurup gönderdiğinde uyepostala.php sayfasına post ettireceğiz.Uyepostala.php sayfası kullanıcının girdiği bilgileri veritabanına kaydedip, kullanıcıya hesabını etkinleştirmesi için mail göndermesini sağlayacak olan sayfadır.Gerekli açıklamalar kod içinde.
if((!$ad) || (!$kullanici) || (!$sifre) || (!$sifre2) || (!$email))
{
echo '<font color="red">Gerekli bir bölümü boş bıraktınız.</font>';
if(!$ad)
{
echo '<font color="red">Ad soyadı boş bıraktınız.</font>';
}
if(!$kullanici)
{
echo '<font color="red">Kullanıcı adını boş bıraktınız.</font>';
}
if(!$sifre)
{
echo '<font color="red">Şifre alanını boş bıraktınız.</font>';
}
if(!$sifre2)
{
echo '<font color="red">Şifrenizi tekrar yazmadınız.</font>';
}
if($sifre != $sifre2)
{
echo '<font color="red">Şifreler uyuşmuyor.</font>';
}
if(!$email)
{
echo '<font color="red">Emaili alanını boş bıraktınız.</font>';
}
include("kayit.html");
exit;
}
// Yazılan kullanıcı adı veya email daha önce başkası tarafından alınmış mı?
$email_kontrol = mysql_query("select email from kullanicilar where email='$email'");
$kullanici_kontrol = mysql_query("select kullanici from kullanicilar where kullanici='$kullanici'");
// Sonucu alalım
$email_kontrol2 = mysql_num_rows($email_kontrol);
$kullanici_kontrol2= mysql_num_rows($kullanici_kontrol);