Merhabalar,
Ben üyelik örneği arıyorum.
internette bir sürü örnek indirdim kontrol ettim ama çoğu ya bozuk ya da admin yetkisi yok.
Aradığım Örnek şöyle ;
admin_id olacak sqlda eğer 1 se xxx/admin kısmına girecek değilse girmicek.
kayıt ol giriş yap standart bi form.
giriş yapanlar giriş yap sayfasını göremicek.
Elinizde böyle bi örnek varsa verebilirseniz çok mutlu olurum php & sqlda yeniyim bu tarz örnekleri inceleyerek tamamen çözmeye çalışıyorum.
Admin Panelli Üyelik Örneği
7
●159
- 26-04-2021, 04:26:40
- Kabul Edilen Cevap
- 1 Beğeni
-
- 26-04-2021, 04:30:06Php & Mysql Basit bi örnek olması yetiyor birazcık anlıyorum işin mantığını çözmeye çalışıyorumflyingatm adlı üyeden alıntı: mesajı görüntüle
istediğim sadece basit bi örnek yani tasarım vb olmıcak giriş yapabilecek kayıt olabilecek giriş yaptıysa giriş sayfası gözükimcek aynı eposta ve ya k.adı varsa kayıt olamıcak belirli idler /admin kısmına girebilecek
Edit : Başlıkta yazdığım admin panelli derken yani ayarlar falan değil onları yaptım sadece x idli kişiler oraya girebilsin gibi - 26-04-2021, 04:48:03Hocam bu cevabı vermenin bir sürü koşulu var hala lakin, 2 senaryo için de yatmadan yazabileceğimi yazacağım.KarayelHosting adlı üyeden alıntı: mesajı görüntüle
1) Eğer ki mevcutta session, cookie ayarları yapılmış ise tek yapmanız gereken bir SQL sorgusu çevirmek; şöyle bir sorgu:
$veri = SELECT user_id FROM users WHERE user_name = X
tabii sorgunun escape edildiğinden ve gelen verinin de sanitize edildiğinden emin olun.
if($veri === 1){ header("location: gideceği url")}
mantığı kullanmanız gerek.
lakin bu soruyu soruyorsanız muhtemelen PHP'ye meraklı kategorisinde birisiniz ve bir SQL sorgusu çeviriyorsunuz. Kanımca her şeyden önce sql injection, data sanitizing, data escaping gibi tabirlere bakmalısınız. Şappadanak buraya girerseniz muhtemelen güvenlik zaafiyetleri doğacaktır. - 26-04-2021, 04:55:37Cevabınız için teşekkür ederim evet phpye yöneldim bu aralar şuanda üyeliğe dair hiçbi kaydım yok hazırladığım scriptte hangi scriptten iskeletini aldıysam giriş yap kayıt ol ya php sürümüyle uyumlu olmuyor hata basıyor ya da admin kısmı olmuyor bunlardan pek anlamıyorum bu güne kadar kendimi csste geliştirdim cssten başka birşey bilmiyorum php azbişi öğrenmeye devam ediyorum elinizde örnek varsa daha önceden paylaşılmış verirseniz sevinirim.güvenlik zaafiyeti pek önemli değil şuanlık benim için yazdığım scripti kullanmıyacağım sadece hangi kod nerde niçin kullanılmış onları test ediyorum.flyingatm adlı üyeden alıntı: mesajı görüntüle
Mesela
https://www.youtube.com/watch?v=YNm2iz1KnJs
buradaki scripte bakarak blog scripti yazdım ve şuanda bakmadanda yazabilirim yani bu tarz örnekleri inceleyerek öğrenme yapım var ders izlemeyle öğrenemiyorum - 26-04-2021, 04:58:11Daha önceleri sıkça kullandığım giriş kısmını anlatayım.
İlk olarak PHPMyAdmin kısmında bir db oluştur. DB bağlantısını gerçekleştir.
Sonrasında tbladmin adında bir tablo oluştur ve üç kolon olsun.
Sırasıyla;
id
klnyonetici
klnsifre
Sonrasında giriş için index.php dosyanı aç
en üst kısma
ob_start(); session_start(); include 'baglanti.php'; # Giriş Kontrolü if ( isset($_SESSION["yonetici"]) ) { header("Location: panel"); return; }kodunu yapıştır.
Ardından temel html etiketlerini oluştur.
Body kısmında ise
Bir form oluştur. İçinde iki input bir submit butonu olsun.
İnputların namelerini karışıklık olmasın diye
klnyonetici ve klnsifre yap. Submit butonun name ise submit yap.
Daha doğrusu ben sana index.php'de yer alan kodları verip tek tek anlatayım.
# POST EDİLEN GİRİŞ BİLGİLERİ if( $_POST ) { # Yönetici Bilgi Değişkenleri $klnYonetici = $_POST["klnYonetici"]; $klnSifre = $_POST["klnSifre"]; # Veritabanı Sorgusu $sorgu = $db -> query("SELECT * FROM tblAdmin WHERE klnYonetici = '$klnYonetici' && klnSifre = '$klnSifre'", PDO::FETCH_ASSOC); # IF TRUE if( $sorgu -> rowCount() ) { # SESSION Değişkenleri $_SESSION["yonetici"] = true; // Session Değeri $_SESSION["klnYonetici"] = $klnYonetici; $_SESSION["klnSifre"] = $klnSifre; # Giriş başarılı ise panele yönlendir. header("Location: ../panel"); }else{ # Giriş başarılı değilse hata kodu ver. header("Location: ../failedLogin.php"); } }else{ # Giriş Ekranı echo ' <form method="POST" class="user"> <div class="form-group"> <input type="text" required name="klnYonetici" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Yönetici Adını Giriniz."> </div> <div class="form-group"> <input type="password" required name="klnSifre" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password"> </div> <input type="submit" class="btn btn-primary btn-user btn-block" value="Giriş Yap"> </form> '; }Oluşturacağın form dosyasının metodu POST olacak.
Yönetici bilgilerini değişkenlere atıyorsun. Bunu input verilerinden gelen POST verileri ile sağlıyorsun.
Ardından ilk veritabanı sorgunda aldığın değişkenleri veritabanındaki tablo ile eşleştiriyorsun.
Sonrasında sorgunun true yani bir değer taşıdığı eşleşirse SESSION değerlerini atamaya başlıyorsun.
Session değerlerinde senin anahtar kelimen yonetici (bu anahtar kelime ile diğer sayfalarda giriş olup olmayacağını sorguluyorsun)
Ardından else kısmında ise formun kodlarını yazıyorsun. Bu şekilde basitçe bir admin üye girişinin kontrolünü sağlayıp panel ekranını gösterebilirsin. - 26-04-2021, 05:07:07DemirayBilisim adlı üyeden alıntı: mesajı görüntüle
login.php içeriğini Böyle yaptım ;
<?php ob_start(); session_start(); include 'config/config.php'; # Giriş Kontrolü if ( isset($_SESSION["yonetici"]) ) { header("Location: panel"); return; } # POST EDİLEN GİRİŞ BİLGİLERİ if( $_POST ) { # Yönetici Bilgi Değişkenleri $klnYonetici = $_POST["klnYonetici"]; $klnSifre = $_POST["klnSifre"]; # Veritabanı Sorgusu $sorgu = $db -> query("SELECT * FROM tblAdmin WHERE klnYonetici = '$klnYonetici' && klnSifre = '$klnSifre'", PDO::FETCH_ASSOC); # IF TRUE if( $sorgu -> rowCount() ) { # SESSION Değişkenleri $_SESSION["yonetici"] = true; // Session Değeri $_SESSION["klnYonetici"] = $klnYonetici; $_SESSION["klnSifre"] = $klnSifre; # Giriş başarılı ise panele yönlendir. header("Location: ../panel"); }else{ # Giriş başarılı değilse hata kodu ver. header("Location: ../failedLogin.php"); } }else{ # Giriş Ekranı echo ' <form method="POST" class="user"> <div class="form-group"> <input type="text" required name="klnYonetici" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Yönetici Adını Giriniz."> </div> <div class="form-group"> <input type="password" required name="klnSifre" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password"> </div> <input type="submit" class="btn btn-primary btn-user btn-block" value="Giriş Yap"> </form> '; } ?>
Mysql ise böyle ;

Ekle ile hesap oluşturdum giriş yaparken bu hatayla karşılaşıyorum ;
Warning: Undefined variable $db in xampphtdocsbloglogin.php on line 22
Fatal error: Uncaught Error: Call to a member function query() on null in xampphtdocsbloglogin.php:22 Stack trace: #0 {main} thrown in xampphtdocsbloglogin.php on line 22
Config Php İçeriği ;
<?php $siteadresi = "http://localhost/blog"; try { $vt = new PDO("mysql:host=localhost;dbname=blog;charset=utf8;","root",""); }catch (PDOExeption $hata) { echo $hata->getMessage(); } ?>Yardım Ederseniz Mutlu olurum - 26-04-2021, 07:53:31Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.KarayelHosting adlı üyeden alıntı: mesajı görüntüle
Config dosyasında vt değişkenin db olarak değiştirir misin hocam ben kendi configimde sorularıma vt değil db olarak kullanmışım
