lostyazilim
tr.link

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 5 Final - Dosyalar Ektedir

7 Mesajlar 1.625 Okunma
acebozum
tr.link

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
Herkese selamlar. PHP ile sıfırdan kodladığımız basic üyelik sisteminin son bölümündeyiz.

Diğer Bölümler:

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 1

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 2

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 3

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 4

PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 5 Final

Önceki bölümlerde üye kaydı, üye girişi ve üyelere özel oturum yönetimini incelemiştik. Bu bölümde ise admine özel bir sayfa yapacak, oradan üye ekleyip, üye silebileceğiz. Hemen başlayalım.

Adım 19 - Login.php Düzenlemesi

Öncelikle dizinimde admin.php adında yeni bir dosya oluşturuyorum. Burası, adminlere özel sayfamı hazırlayacağım alan olacak. Öncelikle login.php sayfamda birkaç değişiklik yapacağım.





Kodlar:


if ($_POST) {

$kullaniciadi = $_POST['username'];
$password = $_POST['passwordlogin'];
$passwordsecurity = md5($password);

$uyekontrol = "SELECT username, password, status FROM users WHERE username = '$kullaniciadi' AND password = '$passwordsecurity'";
$uyekontrolet = $conn->query($uyekontrol);
$uyesaydir = $uyekontrolet->rowCount();

if ($uyesaydir > 0) {

foreach ($uyekontrolet as $statukontrol) {
$statu = $statukontrol['status'];
}

session_start();
$_SESSION["username"] = $_POST["username"];
$_SESSION["statu"] = $statu;

if($_SESSION["statu"] == '0') {
header("location: admin.php?type=success");
}

else if($_SESSION["statu"] == '1') {
header("location: control-panel.php?type=success");
}

} else {
header("location: login.php?type=error");
}
}




login.php sayfamızda hatırlarsanız üye girişinde username ve password kontrolü yapmıştık. Select sorgusuna bir de status'ü ekliyoruz ve foreach ile statuyu yazdırıyoruz. Ardından şu 2 koşulu ekliyoruz.


if($_SESSION["statu"] == '0') {
header("location: admin.php?type=success");
}



Eğer giriş yapan kullanıcının statüsü 0 ise, onu admin.php sayfasına yönlendir.


else if($_SESSION["statu"] == '1') {
header("location: control-panel.php?type=success");
}



Eğer giriş yapan kullanıcının statüsü 1 ise, onu control-panel.php sayfasına yönlendir.

login.php dosyamızı tamamladık. Statü sütunumuzu hatırlarsınız. Veritabanından ''Lions'' üyeliğimin Statüsünü 0 yapıyorum, WmAraci üyeliğinin statüsü 1 olarak kalacak ki başarılı olup olmadığını test edebilelim.



Sıra geldi admin.php dosyamızı hazırlamaya!

Adım 20 - Admin Panelinin Hazırlanması



Kodlar:


session_start();
if($_SESSION["statu"] == '0') {
echo 'Hoşgeldiniz admin!';
}

else {
echo 'Bu sayfayı görüntüleme yetkiniz yok!';
}



Burada, eğer sayfaya gönderilen SESSION üye statusu 0 ise echo ile Hoşgeldiniz admin yazdırdık ve bunun dışındaki tüm SESSION'lara Bu sayfayı görüntüleme yetkiniz yok yazdırdık. Şimdi isterseniz gelin bir test edelim. İki üyelikle de giriş yapıp kontolümüzü sağlayalım :)

WmAraci Üyeliğiyle Giriş Yaptığımda:



Lions Üyeliğiyle Giriş Yaptığımda:



Harika! Artık bu paneli sadece, üye statüsü 0 olan yani admin olanlar görüntüleyebilecek! :) O halde artık admin panelimizin tasarımını yapalım!



Tasarımda, kontrol paneli için hazırladığım tasarımı kullanacağım. Sadece işlevi daha farklı olacak :) Şimdi işlevsel fonksiyonlarımızı yazalım!





Kodlar:


if ($_GET["type"] == 'success') {
$girisbasarili = '';
}

if (isset($_POST['nickname']) && ($_POST['geciciparola']) && ($_POST['email'])) {
$nickname = $_POST['nickname'];
$geciciparola = $_POST['geciciparola'];
$uyemail = $_POST['email'];
$uyestatusu = $_POST['statusu'];
$guvenliparola = md5($geciciparola);


$uyeekleme = "INSERT INTO users (username, password, mail, status, created_time) VALUES ('$nickname', '$guvenliparola', '$uyemail', '$uyestatusu', NOW())";
$eklemesorgusu = $conn->query($uyeekleme);
if ($eklemesorgusu) {
$uyeeklendi = '';
} else {
$uyeeklenmedi = '';
}
}

if (isset($_POST['uyenickisil'])) {
$uyesilme = $_POST['uyenickisil'];
$silmeislemi = "DELETE FROM users WHERE username = '$uyesilme'";
$uyesil = $conn->query($silmeislemi);
$silsay = $uyesil->rowCount();
if ($silsay > 0) {
$uyesilindi = '';
} else {
$silinemedi = '';
}
}

session_start();


if ($_SESSION["statu"] == '0') {

$uyebilgileri = "SELECT username, mail, status, created_time FROM users";
$uyebilgisigetir = $conn->query($uyebilgileri);

echo '




' . $girisbasarili . '

Burası size özel paneldir.

' . $uyeeklendi . $uyeeklenmedi . $uyesilindi . $silinemedi . '

Üye Adı --- Mail Adresi --- Statüsü --- Kayıt Tarihi

';

foreach ($uyebilgisigetir as $uyeler => $yazdir) {
$uyeadi = $yazdir['username'];
$uyemaili = $yazdir['mail'];
$uyestatu = $yazdir['status'];
$kayittarihi = $yazdir['created_time'];

echo $uyeadi . ' --- ' . $uyemaili . ' --- ' . $uyemaili . ' --- ' . $kayittarihi . '
';
}
echo '
























';
} else {
echo 'Bu sayfayı görüntüleme yetkiniz yok!';
}





Burada ne yaptığımıza kısaca değinelim:

Öncelikle bir üye ekleme ve üye çıkarma formu oluşturduk. Ardından:


if (isset($_POST['nickname']) && ($_POST['geciciparola']) && ($_POST['email'])) {
$nickname = $_POST['nickname'];
$geciciparola = $_POST['geciciparola'];
$uyemail = $_POST['email'];
$uyestatusu = $_POST['statusu'];
$guvenliparola = md5($geciciparola);


$uyeekleme = "INSERT INTO users (username, password, mail, status, created_time) VALUES ('$nickname', '$guvenliparola', '$uyemail', '$uyestatusu', NOW())";
$eklemesorgusu = $conn->query($uyeekleme);
if ($eklemesorgusu) {
$uyeeklendi = '

';
} else {
$uyeeklenmedi = '';
}
}



Burada tıpkı üye kaydında yaptığımız gibi eğer post edilen bir username, password, mail ve statu varsa bunları veritabanına kaydet dedik.

Not: Burada if koşulunu özelleştirebilir ayrıca tıpkı üye kaydında eklediğimiz gibi veritabanı kontrolü ekleyebilirsiniz.



if (isset($_POST['uyenickisil'])) {
$uyesilme = $_POST['uyenickisil'];
$silmeislemi = "DELETE FROM users WHERE username = '$uyesilme'";
$uyesil = $conn->query($silmeislemi);
$silsay = $uyesil->rowCount();
if ($silsay > 0) {
$uyesilindi = '

';
} else {
$silinemedi = '';
}
}



Burada ise üye nickini yazıp sil dediğimiz anda veritabanından bu üyeyi çıkarmış olduk. Şimdi birlikte bir test edelim hem admin girişi, hem üye eklemeyi hem de üye silmeyi :)



Harika! Üye ekleme ve çıkarma admin panelimiz de başarıyla çalışıyor. Bu noktadan sonrası artık sizlere kalmış. İstediğiniz statuleri ve özellikleri rahatlıkla ekleyip çıkartabilirsiniz. Benim burada anlattığım kısım işin en basic düzeyidir. Bu noktadan sonra bu kodları daha kısa, komutları daha temiz, daha az fonksiyon ve daha şık tasarımla dilediğiniz sistemi tasarlayabilirsiniz :) Üyelik paneli sistemimizin tüm dosyalarını şuradan indirebilirsiniz:

Not: SQL'i içine ekledim kurulum yaparken connect.php dosyasındaki veritabanı bilgilerinizi güncellemeyi unutmayın :) Sevgilerimle,

Lions

Dosyalar: WM Araci PHP Üyelik Sistemi

Abdullahx kayamustafa borderking

kişi bu mesajı beğendi.

elektronikssl
webimgo

Mustafakoca99 Mustafakoca99 WM Aracı Kullanıcı
  • Üyelik 01.03.2020
  • Yaş/Cinsiyet 25 / E
  • Meslek Yazılım uzmanı
  • Konum Aydın
  • Ad Soyad M** K**
  • Mesajlar 151
  • Beğeniler 34 / 34
  • Ticaret 0, (%0)
Elinize sağlık
Lions

kişi bu mesajı beğendi.

obirninja obirninja www.layer.web.tr Kimlik Onayı
  • Üyelik 24.02.2020
  • Yaş/Cinsiyet 24 / E
  • Meslek Back-end Developer & IT Sec.
  • Konum İstanbul Avrupa
  • Ad Soyad E** T**
  • Mesajlar 105
  • Beğeniler 11 / 43
  • Ticaret 0, (%0)
Elinize sağlık. PHP Üzerine bir blog site kurmayı düşünüyormusunuz hocam?
Lions

kişi bu mesajı beğendi.

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
obirninja , Hayır hocam şuan için düşünmüyorum.
 

 

wmaraci
wmaraci

niggaoski niggaoski Mustafa Kemal Kullanıcı
  • Üyelik 21.12.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Girişimci
  • Konum KKTC
  • Ad Soyad O** Y**
  • Mesajlar 179
  • Beğeniler 32 / 47
  • Ticaret 0, (%0)
Elinize sağlık, baya yararlı bir konu olmuş. <3
Lions

kişi bu mesajı beğendi.

Benimki memleket meselesi

borderking borderking WM Aracı Kullanıcı
  • Üyelik 05.01.2020
  • Yaş/Cinsiyet 40 / E
  • Meslek özel sektör
  • Konum İstanbul Avrupa
  • Ad Soyad Z** K**
  • Mesajlar 122
  • Beğeniler 27 / 34
  • Ticaret 1, (%100)
Eline sağlık hocam, değerli bir kaynak olmuş
Lions

kişi bu mesajı beğendi.

Mamilost Mamilost WM Aracı Kullanıcı
  • Üyelik 11.05.2019
  • Yaş/Cinsiyet 22 / E
  • Meslek Öğrenci
  • Konum Şanlıurfa
  • Ad Soyad M** K**
  • Mesajlar 16
  • Beğeniler 23 / 3
  • Ticaret 0, (%0)
Lions hocam dosya silinmiş kontrol edermisiniz
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al