1. Anasayfa
  2. Php
Trendlerdeki Yazı

Php ile basit üyelik sistemi yapımı


56

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>
&lt;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">
<textarea rows="7" name="hakkimda" cols="20"></textarea></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>
';
echo 'Şifre veya Kullanıcı Adı Yanlış. Tekrar Deneyin
';
}
?>
</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:

&lt;?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");
}
?&gt;

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 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 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>

</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 – 9537 defa indirildi – 4,59 KB
Bu İçeriğe Tepkin Ne Oldu?
  • 24
    ba_ar_l_
    Başarılı
  • 3
    gayet_yi
    Gayet İyi
  • 5
    te_ekk_rler
    Teşekkürler
  • 5
    anlamad_m
    Anlamadım
  • 5
    yetersiz
    Yetersiz
İlginizi Çekebilir
Subscribe
Bildir
guest

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

56 Yorum
Inline Feedbacks
View all comments
mert

giris tamamla kısmında bu hatayı alıyorum <?php $email = $_POST[’email’]; $pass = $_POST[‘pass’]; if ((!$email ==””) and (!$pass ==””)) { include(“db_ayar.php”); $sql = “select * from uye where email=’$email’ and pass=’$pass’ “; $kontrol = mysql_query($sql); $kayitsayisi = mysql_num_rows($kontrol); if ($kayitsayisi == “0”) { header (“Location: index2.php?hata=yes”); } else { $kontrol_ok = mysql_fetch_array($kontrol); setcookie (“email”, “$kontrol_ok[email]”); header (“Location: uye_panel.php”); } } else { header (“Location: index2.php?hata=yes”); } ?>


Last edited 9 ay önce by mert
Oktay

Bu tarz bir veritabanı ve formu üye girişi değil de sadece bir dernek yöneticisi olarak biz de kayıtlı tutmak için nasıl bir yol izlemeliyiz örneğin üyelere bu özelliği açmadan sadece bizim üyelerin listesini istediğimiz zaman ekleme çıkarma yapabileceğimiz yazdır butonu olan ve ad soyad tel,tc,meslek,vs. Bunların olacağı bir tablo için yönlendirebilirmisiniz ya da hazır kod vara üzerinde düzenleme yapabileceğimiz yardımcı olursanız sevinirim iyi günler

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..

Şahin

peki üye olan kişiye bizim düzenleyeceğimiz bir mail ? gönderimini nasıl sağlayabiliriz ?

BilisimOgretmeni

Denemedim ama aşağıdaki kodları kayittamamla dosyasına eklerseniz büyük ihtimal olacaktır…
//Gönderilecek mail adresi
$posta
//Mesajın Konusu
$mail_konu = 'Üye bilgilendirme';
//Gönderilecek Mesaj
$mesaj = "Bilişim Öğretmeni Sitesine üyeliğiniz yapılmıştır...";
//Mesajı Gönderiyoruz
$mail_gonder = @mail( $alici, $mail_konu, $mesaj);
//Eğer Mesaj Gönderilmiş ise ekrana gönderildi, başarısız olursa gönderilmedi yazacak
echo $mail_gonder ? "Gönderildi" : "Gönderilmedi";

Şahin ÇAKAN

Hocam ben tek sayfa üzerinden veritabanına kayıt yaptırıyorum bu vermiş olduğunuz sciript’i çalıştıramadım size üyelik yaptırdığım php dosyasının gönderimini sağlasam bi inceleseniz olur mu ?

Şahin ÇAKAN

Hocam bunu denedim ama çalışmadı bu konuda çok acilen yardıma ihtiyacım var :(

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