Şöyle basit bir üyelik sistemi yapabilirsin
Şimdi Bize Neler Gerekli? Mantık şu:
1-) Üyelerin Kayıtlarının Tutulduğu bir Database
Tabikide Biz MySQL Kullanacaz
2-) Buradaki Gibi bir Database Bağlantı Dosyamız..
3-) Üyelerin kaydolması için Kayıt Formu
4-) Üyelerin Hesaplarına giriş yapabilmesi için giriş formu
5-) Tabikide Bir index
Başlayalım
İlk Önce Bize Gerekli Olan SQLumuzu oluşturalım
Kod:
CREATE TABLE uye (
id smallint(6) NOT NULL auto_increment,
ad varchar(20) NOT NULL default '',
kullaniciadi varchar(20) NOT NULL default '',
sifre varchar(20) NOT NULL default '',
email varchar(20) NOT NULL default '',
hakkimda text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
INSERT INTO uye VALUES (1, Çağrı, Çağrı, 12345, [email protected], Scriptimizin 1.Üyesi);
Yukarda Gördüklerinizi Biraz Açıklayayım
CREATE TABLE ile tablolarımızı phpmyadminde oluşturduk
id=üye numarası,ad=üye adı,kullanici adi=üyenin kullanıcı adı vsvsvs bilgileri databaseimizde tutmamıza yarayacak tablolar..
Databaseimizi oluşturduk,tabi siz istediğiniz kadar özellik ekleyebilirsiniz
ama üyelik formunda (bkz.üyelik formu,aşağıda) değişiklik yapmanız gerek
Şimdi,bu SQLu PHP dosyalarımıza bağlamamız gerek,ki birazdan kullanacağımız sorgular çalışsın
bunun içinde bir db_ayar.php dosyası yapalım
ve içine buradaki anlattığım sistem gibi SQLa bağlanalım
db_ayar.php dosyamızı bir metin editörü ile açın
ve Şu kodları yerleştirin
Kod:
<?php
$host = "localhost";
$mysqladi = "root";
$mysqlsifre ="123456";
$db = "uyee";
@mysql_connect ("$host", "$mysqladi", "$mysqlsifre") or die ("MySql Baglantisinda Hata");
@mysql_select_db ("$db") or die ("Üye Veritabanina Baglanilamadi");
?>
Eveet..bu dosyamızı diğer PHP dosyalarımıza include ederek SQL ile bağlantıyı kurmuş olacağız..
Şimdi,Bir Üyelik Formu oluşturalım
Az Önce Yayınladığım dersteki bilgileri kullanarak daha detaylı bir üyelik formu oluşturabilirsiniz
Ama ben databasedeki bilgilere göre bir form oluşturacağım
Kod:
<html>
<head>
<**** http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Yeni Üye Kaydı</title>
</head>
<body>
<center
<table border="1" cellspacing="1" style="border:1.5pt solid
#0000FF;" width="28%" id="AutoNumber1" height="2"
fpstyle="6,011111100">
<tr>
<td width="100%" colspan="2" height="18"
style="border-bottom:1.5pt solid black; font-weight: bold; color:
white; background-color: #000000; border-left-style:none;
border-right-style:none; border-top-style:none">
<p align="center"><b><font color="#0000FF" face="Verdana">Üye Kaydı</font></b></td>
</tr>
<tr>
<td width="25%" height="22" style="font-weight: bold; color:
black; border-style: none; background-color: silver">Adı</td>
<td width="75%" height="22" style="color: navy; border-style:
none; background-color: silver"><form action="kayit_tamamla.php"
method="post"> <input type="text" name="ad"
id="ad" size="20"></td>
</tr>
<tr>
<td width="25%" height="22" style="font-weight: bold; color: black; border-style: none; background-color: silver">
Üye Adı</td>
<td width="75%" height="22" style="color: navy; border-style:
none; background-color: silver"> <input
type="text" name="kullaniciadi" id="kullaniciadi"
size="20"></td>
</tr>
<tr>
<td width="50%" height="1" style="font-weight: bold; color: black; border-style: none; background-color: silver">
<p align="left">Şifre</td>
<td width="50%" height="1" style="font-weight: bold; color: black; border-style: none; background-color: silver">
<input type="password" name="sifre" id="sifre" size="20"></td>
</tr>
<tr>
<td width="50%" height="0" style="font-weight: bold; color: black; border-style: none; background-color: silver">
E-Posta</td>
<td width="50%" height="0" style="font-weight: bold; color: black; border-style: none; background-color: silver">
<input type="text" name="posta" id="posta" size="20"></td>
</tr>
<tr>
<td width="50%" height="0" style="font-weight: bold; color: black; border-style: none; background-color: silver">
Hakkımda</td>
<td width="50%" height="0" style="font-weight: bold; color: black; border-style: none; background-color: silver">
<p>
<textarea rows="7" name="hakkimda" cols="20"></textarea></p>
</td>
</tr>
<tr>
<td width="100%" colspan="2" height="0" style="font-weight:
bold; color: black; border-style: none; background-color: silver">
<p align="center"><input type="submit" value="Gönder" name="B1"></form></td>
</tr>
</table>
</center>
</body>
</html>
Eveet..Burda Ne Yapmış Olduk? Üye Kayıt Formunu Oluşturduk
Yukardaki kodlarda kaydolmak isteyen üyeye;
Adını,Şifresini,Epostasını ve Basit bir Hakkında textboxlarıyla doldurmasını istedik
.
Tabi bunu sadece html kodlarıyla yaptık
şimdi bu kodları alın ve kayit.php diye bir dosya oluşturup içine yapıştırın
Kaydolmak isteyen kişileri bu sayfaya yönlendireceksiniz
örn:
Sınırsız Hosting, Website Tasarımı, Ucuz Hosting, Alan Adı Tescili....
gibi..
Durun!
Daha kaydolma işlemi bitmedi
Formu oluşturduk
Ama SQLa kaydettikmi? hayır
e ozaman Cânım PHPyi kullanarak bu Formdaki bilgileri databaseimize kaydedelim
Şimdi kayit_tamamla.php adlı bir dosya oluşturalım..Dikkat ettiyseniz formdada kayit_tamamla.php dosyamızı kullandık?Neden peki? işte asıl çözlüecek nokta bu
form=action ile formdaki bilgilerimizi kayit_tamamla.php ye gönderdik..ve şimdi kullanacağımız bu kodlarla o bilgileri databasee yazacağız
işte kayit_tamamla.php için gerekli olan kod
Kod:
<?php
$ad = $_POST['ad'];
$kullaniciadi = $_POST['kullaniciadi'];
$sifre = $_POST['sifre'];
$posta = $_POST['posta'];
if(empty($ad)){
echo("<center><b>Adınızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz.</b></center>");
}elseif(empty($kullaniciadi)){
echo("<center><b>Kullanıcı Adınızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz.</b></center>");
}elseif(empty($sifre)){
echo("<center><b>Şifrenizi Yazmadınız. Lütfen Geri Dönüp Doldurunuz.</b></center>");
}elseif(empty($posta)){
echo("<center><b>E-Postanızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz.</b></center>");
}else{
include("db_ayar.php");
$sql = "insert into uye (ad, kullaniciadi, sifre, email, hakkimda)
values ('$ad', '$kullaniciadi', '$sifre', '$posta', '$hakkimda')";
$kayit = mysql_query($sql);
}
if (isset ($kayit)){
echo "Üye Kaydınız Yapılmıştır";
}
else {
echo "Kayıt Başarısız [email protected] adresinden iletişime geçin";
}
?>
Eveet
Şimdi Bir Püff Nokta daha;dikkat ettiyseniz db_ayar.php dosyasını kayit_tamamla.php dosyamızda include ettik..
neden? diye sorarsanız hemen söyleyim,bu PHP dosyamızda formdan gelen bilgileri databaseimize kaydetmeyecekmiyiz?evet
ozaman bizim önceden oluşturduğumuz DB ile bağlantı kurmamız gerek değilmi? evet
işte biz o bağlantıyı yukarda db_ayar.php ile kurmadıkmı?
eveeeet
Yaşasın,PHPyi seviyorum
Buraya Kadar Neler Yaptık Bi Hatırlayalım
*Önce Bir SQL oluşturduk: ki üyelerimizin kaydını tutalım diye
*Sonra PHP dosyalarımızı bu SQL ile bağlantı kurdurmak için bir db_ayar.php dosyası oluşturduk..
*Daha Sonra üyelerimizin kaydolması için bir Form oluşturduk
*Bu Formdaki Bilgileri Databasee yazdırmak için bir kayit dosyasını PHP ile oluşturduk
.
Yarısı Gitmiş
Azı Kalmış
.
Bundan Sonrası Kolay
Şimdi Gelelim Üyeler Sisteme Nasıl Giriş Yapacak?
Bunun için Bir Form Sayfası Daha Oluşturalım ve ismini giris.php verelim
giris.php nin içine şu kodları yerleştirin:
Kod:
<html>
<head>
<**** http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Üye Girişi</title>
</head>
<body>
<center>
<?php
if (!$hata =="") {
echo '<font face="verdana" size="2" color="#800000"><b>Giriş Sırasında Hata Oluştu</b><br>';
echo 'Şifre veya Kullanıcı Adı Yanlış. Tekrar Deneyin<br>';
}
?>
</center>
<center>
<form action="giris_tamamla.php" method="post">
<table border="1" cellspacing="1" style="border:1.5pt solid #0000FF;
" width="28%" id="AutoNumber1" height="2" fpstyle="6,011111100">
<tr>
<td width="100%" colspan="2" height="18"
style="border-bottom:1.5pt solid black; font-weight: bold; color:
white; background-color: #000000; border-left-style:none;
border-right-style:none; border-top-style:none">
<p align="center"><b><font color="#0000FF" face="Verdana">Üye Girişi</font></b></td>
</tr>
<tr>
<td width="25%" height="22" style="font-weight: bold; color:
black; border-style: none; background-color: silver">Üye
Adı</td>
<td width="75%" height="22" style="color: navy; border-style:
none; background-color: silver"> <input
type="text" name="kullaniciadi" size="20"></td>
</tr>
<tr>
<td width="25%" height="22" style="font-weight: bold; color:
black; border-style: none; background-color: silver">Şifre</td>
<td width="75%" height="22" style="color: navy; border-style:
none; background-color: silver"> <input
type="password" name="sifre" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2" height="1" style="font-weight:
bold; color: black; border-style: none; background-color: silver">
<p align="center"><input type="submit" value="Gönder"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
Bu Formda üyemizde Kullanıcı Adını ve Şifresini Yazmasını istedik
ve Gönder butonuna bastığında giris_tamamla.php dosyasına gitmesini sağladık
ee giris_tamamla.php dosyası nerde? oluşturmadıkki?
biraz sabır şimdi oraya geldik işte
Yukardaki Formdaki bilgileri Db mize Göre Sorgulayıp üyenin girişini sağlayacak veya reddecek bir giris_tamamla.php dosyası yapalım şimdi
aşağıdaki kodları giris_tamamla.php dosyası oluşturup içine
yapıştırın
Kod:
<?php
$kullaniciadi = $_POST['kullaniciadi'];
$sifre = $_POST['sifre'];
if ((!$kullaniciadi =="") and (!$sifre =="")) {
include("db_ayar.php");
$sql = "select * from uye where kullaniciadi='$kullaniciadi' and sifre='$sifre' ";
$kontrol = mysql_query($sql);
$kayitsayisi = mysql_num_rows($kontrol);
if ($kayitsayisi == "0") {
header ("********: giris.php?hata=yes");
} else {
$kontrol_ok = mysql_fetch_array($kontrol);
setcookie ("kullanici", "$kontrol_ok[kullaniciadi]");
header ("********: uye_panel.php");
}
}
else {
header ("********: giris.php?hata=yes");
}
?>
Bu Kodlar Ne işe Yarıyor demeyin Kodların Hemen üstünde açıkladım zaten
Gördüğünüz Gibi db_ayar.php dosyasını buradada kullandık
Yalnız Şu Soruyu Sorabilirsiniz
.uye_panel.php Dosyasıda ne oluyor??
Tabikide üye giriş yaptıktan sonraki görünecek olan panel,yada sayfa
Dayanın Az Kaldı
.Ama zevk alarak öğreniyosunuz umarım
.
Şimdi O üye_panel.php sayfasına gelelim
Ben aşağıdaki kodları kullandım,tabi siz daha farklı şeylerde kullanabilirsiniz
Kod:
<?php
if (isset($_REQUEST["kullanici"])) {
include("db_ayar.php");
$sql = ("select * from uye");
}
else {
header ("********: uyari.html");
}
?>
<a href="cikis.php">Çıkış
<? echo $_REQUEST["kullanici"]; ?>
<html>
<head>
<title>BİSMİLLAH</title>
<**** http-equiv="Content-Type" content="text/html; charset=windows-1254″>
</head>
<body>
<table border="0″ width="80%">
<tr>
<center>
<h1>Üye Girişi Yaptığınız İçin Bu Sayfaya Ulaşabiliyorsunuz</h1>
</center>
</tr>
</table>
</body>
Eveet
Bitti
demiyecem tabiki
Şimdi Birileri bu Sayfaya izinsiz girmeye çalıştı diyelim
yukarda kullandığımız
Kod:
<?php
if (isset($_REQUEST["kullanici"])) {
include("db_ayar.php");
$sql = ("select * from uye");
}
else {
header ("********: uyari.html");
}
?>
bu kodlarla onlara bir oyun oynayalım isterseniz
bir uyari.html sayfası oluşturalım ve karşılacakları sayfayı hazırlayalım
herhangi bir html sayfası olabilir,sadece içeriğinde kayıt olmadan bu sayfaya girecek olan kişilere uyarı mahiyetinde bir
sayfa olsun
ben aşağıdaki gibi bişey yaptım
Kod:
<html>
<head>
<**** http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Bilisimogretmeni.com</title>
</head>
<body>
<p> </p>
<p align="center"><font color="#800000"><b>ÜYELERİMİZE ÖZEL SAYFAYA ULAŞMAYA
ÇALIŞIYORSUNUZ!!!</b></font></p>
<p align="center"><font color="#800000"><b>
<a href="giris.php" style="text-decoration: none">GİRİŞ YAPIN</a></b></font></p>
<p align="center"><font color="#800000"><b>YADA</b></font></p>
<p align="center"><font color="#800000"><b>
<a href="kayit.php" style="text-decoration: none">KAYIT OLUN</a></b></font></p>
</body>
</html>
Eveet,bu Uyarımızıda Verdik
Peki ya sisteme üye olan kişiler nasıl Çıkış Yapacaklar?
Bu Soruyuda Şu Kodları Kullanarak Halledelim ve Konumuzu Bitirelim..
Kod:
<?php
setcookie("kullanici","",time()-360000);
header ("********: index.php");
?>
bu kodlarıda cikis.php olarak bir dosyaya kaydedin..
böylece üyeleriniz cikis.php dosyasını kullanarak çıkış yapabilir
Eveeet
Sonunda Bir Dersin Daha Sonuna geldik..Şimdi Bu anlatımımı kullanarak,hazırlamış olduğunuz html sayfalarına bilr üyelik bölümü
ekleyebilirsiniz
formları ben php olarak yapın dedim (örn:kayit.php,giris.php) ama form sayfalarını html yapsanızda farkeden bişey olmayacaktır..