Php ile basit üyelik sistemi yapımı

Merhaba Arkadaşlar,Yine bir derse hoşgeldiniz…

BU Dersimizde PHP ile Nasıl Bir üyelik sistemi yapılır onu göstermeye çalışacam…Şimdi Gözünüz korkmasın,Joomla,vbullet gibi geniş sistemlerdeki gibi değil…Sadece üyelik scripti yapacaz,ve siz bunu yapmış olduğunuz sistemlere entegre edebileceksiniz..

Uygulamanın çalışan halini konu sonundan indirebilirsiniz…
Ş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-) Üyeler’in 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 SQL’umuzu 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’, ‘sanane@banane.com’, ‘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 database’imizde tutmamıza yarayacak tablolar..

Database’imizi 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 SQL’u 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 SQL’a 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 database’deki bilgilere göre bir form oluşturacağım…
Kod:

<html>
<head>
<meta 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">&nbsp;&nbsp; <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">&nbsp; &nbsp;<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">
&nbsp;&nbsp; <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">
&nbsp;&nbsp; <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">
&nbsp;<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 textbox’ları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: www.siteadi.com/kayit.php
gibi..

Durun!…Daha kaydolma işlemi bitmedi…

Formu oluşturduk…Ama SQL’a kaydettikmi? hayır…

e ozaman Cânım PHP’yi kullanarak bu Formdaki bilgileri database’imize 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 database’e yazacağız…

işte kayit_tamamla.php için gerekli kodlar:

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 sanane@banane.com 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 database’imize 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,PHP’yi 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 Database’e 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>
<meta 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">&nbsp;&nbsp; <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">&nbsp;&nbsp; <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 ("Location: giris.php?hata=yes");
} else {
$kontrol_ok = mysql_fetch_array($kontrol);
setcookie ("kullanici", "$kontrol_ok[kullaniciadi]");
header ("Location: uye_panel.php");
}
}
else {
header ("Location: 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 ("Location: uyari.html");
}
?>
<a href="cikis.php">Çıkış
<? echo $_REQUEST["kullanici"]; ?>
<html>
<head>
<title>BİSMİLLAH</title>
<meta 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 ("Location: 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>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Bilisimogretmeni.com</title>
</head>
<body>
<p>&nbsp;</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 ("Location: 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..

İndir “Php Basit Üyelik Sistemi” uyee1.zip – 3943 defa indirildi – 5 KB

  • GurkanYanar

    ne güzel açıklamışsınız bir okuyuşta çözdüm olayı elinize sağlık

    • BilisimOgretmeni

      teşekkürler iyi çalışmalar..

  • Burhan Topal

    Video Çekermisiniz bu konuyu ?

    • BilisimOgretmeni

      Maalesef şimdilik video ders hazırlayacak vaktim yok 🙁

  • Meta Or

    bu nasıl kod yazmaktır her yerinde hata var 1. si yanlış girilince hata vermemesi 2. si açık var ‘ or 1=1 # olarak giriş yapılabiliyor çok dandik bişey yapıyon bari adam gibi bişey yap

  • Samet Mütevellioğlu

    Ortaya cikan birtakim hatalari duzelterek kodunuzu calistirdim. Ellerinize saglik hala ise yariyor 🙂

    • BilisimOgretmeni

      rica ederim. hatalı olan yerleri söyleyebilirseniz düzeltelim

Pin It on Pinterest