Eğer kaynak kodu olsaydı, hayat daha kolay olabilirdi

Php + MySQL Kullanarak Basit Üyelik Sistemi

  • Anasayfa
  • -
  • Php + MySQL Kullanarak Basit Üyelik Sistemi


Merhaba arkadaşlar, bu yazımda sizlere php ve mysql kullanarak basit üyelik sistemini göstereceğim. Teknik bir arızadan dolayı şu anlık video kaydı yapamıyorum, fakat yazdığım yazıların video derslerini çekip ileride yazılarıma ekleyeceğim.


Öncelikle veritabanımızı oluşturuyoruz.

-- ----------------------------
-- Table structure for uyeler
-- ----------------------------
DROP TABLE IF EXISTS `uyeler`;
CREATE TABLE `uyeler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`kadi` varchar(255) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`sifre` varchar(255) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`ad` varchar(255) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`soyad` varchar(255) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`eposta` varchar(255) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of uyeler
-- ----------------------------
INSERT INTO `uyeler` VALUES ('1', 'burakdundar25', 'burakdundar25', 'Burak', 'Dündar', 'burakdundar25@gmail.com');

Ben 'uyeler' tablosundaki verileri kendime göre doldurdum, isterseniz değiştirebilirsiniz.

Veritabanımızı oluşturduktan sonra config dosyasını yapılandırmaya geldi sıra,

<?php
function baglan(){
//Sunucuya Bağlantı
$veritabani = "phpuyelik";
$sunucu = "localhost";
$skadi = "root";
$baglanti = mysqli_connect($sunucu,$skadi);

mysqli_select_db($baglanti,$veritabani);/*Veritabanına Bağlanma*/

return $baglanti;/*baglanti değişkenini döndürüyoruz*/
}

/*$s değişkenin sorgu olarak atama yapıyoruz, bunun nedeni kodları tekrar tekrar yazmak yerine gerekli olan kısımları tek bir değişkene atamak
ve o değişkeni diğer sayfalarda çağırıyoruz */
function sorgu($s)
{
$baglan=baglan();
mysqli_query($baglan,"SET NAMES 'utf8'");
mysqli_query($baglan,"SET CHARACTER SET 'utf8_turkish_ci'");/*Veritabanımıza kayıt olan verileri utf8 olarak kaydediyoruz, bunun nedeni
türkçe karakterleri algılamamasıdır*/
$deger=mysqli_query($baglan,$s);/*mysqli_query sorgumuzda kullanmak için $baglan değişkenimizi ve sorgu fonksiyonumuza
atadığımız $s değişkenimizi $deger değişkenine atıyoruz ve*/
return $deger;/*$deger değişkenimizi döndürüyoruz*/
}

function ks($a)
{
return mysqli_num_rows($a);/*ks'yi $a değişkenimize mysqli_num_rows sorgumuza atıyoruz*/
}

?>

config dosyasında gerekli olan ayrıntıları satırlar halinde açıkladım. Gelelim giriş dosyamızı oluşturmaya :)


<html>
<head>
<meta charset="utf-8">
<title>Session İle Kullanıcı Girişi</title>
</head>
<body>
<form method="post">
Kullanıcı Adı : <input type="text" name="kadi"><br>
Şifre :  <input type="text" name="sifre"><br>
<input type="submit" value="Giriş" name="giris">
</form>
</body>
</html></pre>
<pre class="lang:default decode:true"><?php
require("config.php");
if(isset($_POST["giris"])){
$kadi=$_POST["kadi"];
$sifre=$_POST["sifre"];
$durum=0;
$baglanti = baglan();
$users = mysqli_query($baglanti,"select * from uyeler");
$users2 = mysqli_num_rows($users);
for($i=1;$i<=$users2;$i++){
$kayit = mysqli_fetch_array($users);
if($kadi == $kayit["kadi"] && $sifre == $kayit["sifre"]){
$durum = 1;
echo "Giriş Doğrulandı.Yönlendiriliyorsunuz...";
session_start();
$_SESSION["ad"]=$kayit["ad"]." ".$kayit["soyad"];
header("refresh:2;url=index.php");
}

}
if($durum==0){
echo "Hatalı bilgi girişi yaptınız.<br>";
echo "Üye olmak için <a href=\"uyekayit.php\">tıklayınız</a>..";
}

}

?>

Giriş dosyamızda 'ad' isminde bir session oluşturup içerisine veritabanımızdan gelen ad ve soyad değişkenlerimizi atadık. Böylelikle istediğimiz sayfada 'echo $_SESSION['ad'];' komutunu kullanarak giriş yapan üyenin ad ve soyad bilgilerini ekrana yazdırabiliriz. Eğer giriş yapan kullanıcının bilgileri yanlış ise ekrana hata mesajı gösterip 'uyekayit.php' dosyasına yönlendiriyor.

<form method="post">
<table>
<tr>
	<td>Kullanıcı Adı : </td>
	<td><input type="text" name="kadi"></td>
</tr>
<tr>
	<td>Şifre</td>
	<td><input type="password" name="sifre"></td>
</tr>
<tr>
	<td>Adı</td>
	<td><input type="text" name="ad"></td>
</tr>
<tr>
	<td>Soyadı</td>
	<td><input type="text" name="soyad"></td>
</tr>
<tr>
	<td>E-Posta</td>
	<td><input type="text" name="eposta"></td>
</tr>
<tr>
	<td></td>
	<td><input type="submit" name="dugme" value="KAYIT OL"></td>
</tr>
</table>
</form></pre>
<pre class="lang:default decode:true"><?php
require("config.php");
if(isset($_POST["dugme"]))
{
$kadi=$_POST["kadi"];
$sifre=$_POST["sifre"];
$ad=$_POST["ad"];
$soyad=$_POST["soyad"];
$eposta=$_POST["eposta"];
$baglan=baglan();
$deger=mysqli_query($baglan,"INSERT into uyeler(kadi,sifre,ad,soyad,eposta)
values('$kadi','$sifre','$ad','$soyad','$eposta')
");
if($deger==true)
{
echo "Kayıt Başarılı";
header("refresh:2;url=giris.php");
}
else
{
echo "HATA oluştu";
}

}

?>

Kayıt ol sayfamızda 'dugme' name değişkenli butonumuza basıp basmadığını kontrol ederek sayfamızda inputlara girmiş olduğu kullanıcı adı, şifre, ad, soyad, eposta değerlerini bir değişkene atayarak veritabanımıza ekliyoruz.

Anasayfamızda session'u başlatıyoruz ve eğer giriş dosyamızda oluşturduğumuz 'ad' session değişkeni dolu ise kullanıcıya yukarıda görmüş olduğunuz gibi ekranına değerler yazdırıyoruz, eğer boş ise kullanıcıyı giriş yapmaya zorluyoruz ve giriş dosyamıza yönlendiriyoruz :)


<html>
<head>
<meta charset="utf-8">
<title>Veritabanı İle Kullanıcı Girişi</title>
</head>
<body>
</body>
</html>
<?php
session_start();
if(isset($_SESSION["ad"]))
{
echo "Merhaba ".$_SESSION["ad"]."<br>";
echo "ANA SAYFA"."<br>";
echo "Menüler"."<br>";
echo "İçerikler"."<br>";
echo "Galeri"."<br>";
echo "<a href=\"cikis.php\">Oturumu Kapat</a>";
}
else
{
	echo "Üye girişi yapmalısınız...";
	header("refresh:2;url=giris.php");
}
?>

Geldik en son kısıma :) Çıkış sayfamızda session'ı 'session_start();' komutu ile başlatıyoruz ve 'session_destroy();' komutu ile sonlandırıyoruz. Sessionlar temizlendiğine göre daha sonra 'header("Location:giris.php");' komutu ile kullanıcıyı giriş sayfasına yönlendiriyoruz.

<?php
session_start();
session_destroy();
header("Location:giris.php");
?>

Eveeeet arkadaşlar söyleyeceklerim bu kadar, bazı kısımları açıkladım, bazı kısımları açıklamadım. Aslında bu yazdıklarımı videolu anlatım olarak vericektim fakat teknik bir arızadan dolayı şu an maalesef video çekemiyorum. Ayrıca sayfanın en altına demo ve indir bağlantılarını koyuyorum (Demo çalışmayabilir). Başka bir yazıda görüşmek üzere esen kalın :)

Tıkla İndir


Yorum yaz :)