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 – 9542 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
Umut Erden

hocam şu anlık üyelik sitemi sorununu halletim

ben buna şifremi unuttum nasıl yapabilirim

bu üyeliği siteme kurdum güzelcede bootstrap css ilede süsledim bakın bi http://umut-nigde.tk/yeni2/

BilisimOgretmeni

eline sağlık güzel olmuş, şifremi unuttum bölümü ile alakalı yakında bir ders ekleyeceğim ama kısaca kullanıcıdan mail adresini isteyip verilen mail adresi sistemde ise oraya geçici bir şifre mail atılacak.

reyta

hocam bu işlere yeni başladım, index nerde?

Sedat Sagdıç

hocam easy builder kulanıyorum ben nasıl yapmalıyım ve db nedir ?

BilisimOgretmeni

easy builder ile dinamik web sayfalareı hazırlanamıyor bildiğim kadarı, db veritabanı demek ,bu uygulamayı easy builder üzerinde çalıştıramazsınız appserver indirip local olarak kendi bilgisayarınızda deneyebilirsiniz..

engin

sayfayı yenileyip sürekli kayıt yapmaması için nasıl bi koruma yapmalıyız

Mahmut demirci

uye_panel sayfasını şu şekilde değiştirince duzeldi belki aynı soruny yaşayanlar olur die paylaşmak istedim if (isset($_COOKIE[‘kullanici’])) {

include(“db_ayar.php”);

$sql = (“select * from uye”);

}

else {

header (“Location: uyari.html”);

}

BilisimOgretmeni

düzenlenme ve bilgi için teşekkürler

Mahmut demirci

bir türlü sesion olayını halledemedim. indirip kurdum ama nedense kullanıcı adı ve şifre doğru olduğu halde uyari.html sayfasına yonlediriyor.

Ahmet Selman Özdemir

Paylaşımınız için teşekkür ederim. Yalnız basit kodlama hataları var. Alınan hatalar bu yüzden. Mesela uye_panel.php sayfasındaki çıkış linkinin kapatma kodu yazılmamış.

BilisimOgretmeni

ilginiz için teşekkürler en kısa zamanda kodlar tekrardan kontrol edilip konu düzenlenecektir.

Tarık

Elinize sağlık fakat bir soun var. Veritabanındaki üye giriş yapamıyor. isimin ve şifrenin doğru olmasına reğmen ?hata=yes diyip dutuyor. Yardım ederseniz sevinirim

BilisimOgretmeni

şimdi kontrol ettim sorun yok gibi konu sonundan uygulamayı indirip deneyin, ve phpMyAdmin’den kullanıcı adı ve şifrenizi kontrol edin

Guest

Hocamm ;

Eyüp Belediyesi Eyüp Gençlik ve Bilgi evi gönüllü olarak web sitesi yaptım bazı şeyleri kodu yapamadım ütfen bana yardımcı olur musun

http://eygev.eyup.bel.tr/Contact.html (mail göndermek kodu yani çalışmıyor)

http://eygev.eyup.bel.tr/uyel%C4%B1k.html (gönder buton kodu yani çalışmıyor)

msn:armaganaydemir@hotmail.com

BilisimOgretmeni

kodları örmeden bir şey diyemem kodları da paylaşırsanız yardımcı olmaya çalışırım

Armagan Aydemir

hocam nasıl yani ben işitme engelliyim bazı şeyleri anlamıyorum gerçekten tütfen bana yardımcı olur musun kodları neye paylaşacam bana gösterin

sss

if(!$değişken==0) bu nasıl değişken tanımlama ne yapıyor ki burda ben anlamış değilim

Emre CİN

selam
herşey çok güzel ama kullanıcı giriş kısmında sorun yaşadım
bir türlü login olupda uye_panel sayfasını açamadım
yardımcı olursanız sevinirin….

BilisimOgretmeni

sorunu yazarsanız yardımcı olmaya çalışayım veya konu sonunda uygulamanın bitmiş hali indirip kontrol edebilirsiniz….

sado

sql kodlarında hata veriyor veri tabanına kayıt yapamıyorum yardımcı olurmusunuz..

BilisimOgretmeni

verdiği hatayı yazarsanız yardımcı olmaya çalışırım…

bugra

aynı kullanıcı adı ile kayıt formuna üye olunmaya çalışırsa hat çıkması lazım onu nasıl yapıcaz?

BilisimOgretmeni

kayit_tamamla.php dosyasını aşağıdaki gibi düzenlerseniz olur <?php include("db_ayar.php"); $ad = $_POST['ad']; $kullaniciadi = $_POST['kullaniciadi']; $sifre = $_POST['sifre']; $posta = $_POST['posta']; $sql = "select * from uye where kullaniciadi='$kullaniciadi'"; $kontrol = mysql_query($sql); $kayitsayisi = mysql_num_rows($kontrol); if(empty($ad)){ echo("Adınızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz."); }elseif(empty($kullaniciadi)){ echo("Kullanıcı Adınızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz."); }elseif(empty($sifre)){ echo("Şifrenizi Yazmadınız. Lütfen Geri Dönüp Doldurunuz."); }elseif(empty($posta)){ echo("E-Postanızı Yazmadınız. Lütfen Geri Dönüp Doldurunuz."); }elseif (!empty($kayitsayisi)) { echo("Kullanıcı Adı daha önce kullanılmış.."); } else{ $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";… Read more »

Vatan

Parse error: syntax error, unexpected ‘>’ in C:xampplitehtdocsuyekayit_tamamla.php on line 9 Bu hata vermektedir ne yapmam lazım yardımcı olurmusunuz

BilisimOgretmeni

Uygulamanın Çalışan hali konu sonuna eklenmiştir , ayrıca hata editör kaynaklı çift tırnak hatasından kaynaklanıyordu şimdi düzenledim kodu tekrar kopyala yapıştır yaparsanız çalışacaktır..
iyi çalışmalar…

hlas

Merhaba Elinize saglık ama ben bir yerde takıldım yarıdmcı olursanız memnun olurum
if (!$hata ==””) {echo “Giriş Sırasında Hata Oluştu“;echo “Şifre veya Kullanıcı Adı Yanlış. Tekrar Deneyin”;}?>
bu şekilde yazarsam
Notice: Undefined variable: hata in C:xampphtdocshabibsalgiris.php on line 12
hata kodunu alıyorum 

BilisimOgretmeni

ilginiz için teşekkürler  ilgili satırı 
echo ‘Giriş Sırasında Hata Oluştu‘; şeklinde değiştirirseniz sorun olmaması lazım, echo dan sonraki bölümü çift tırnak yerine tek tırnak olması lazımdı 
ilginiz için tekrar teşekkürler