Cevaplar
-
Eğer admin sayfası tek bir dosyadan oluşuyorsa yani içerideki sayfalar hep "admin.php?sayfa=xxx" şeklinde çağırılıyorsa, admin.php nin en başına şu kodu ekleyerek kontrol yapabilirsin:
<?php ob_start(); session_start(); if(!isset($_SESSION['adminlogin'])){ echo '<center><font size="+2" face="Tahoma, Arial"><b>Hayrola dostum nereye!!..Geldiğin yere postalanıyorsun..:))</b></font></center>'; header("Refresh: 3; url=index.php"); }else{ ?> // HTML admin sayfası kodları.... <?php } ?>
Senin panele girişte sorun yaşamaman için login işlemi gerçekleştikten sonra "$_SESSION['adminlogin']" u oluşturmalısın:
// ... login işlemi... if(loginişlemi){ echo "Giriş başarılı"; $_SESSION['adminlogin'] = true; }else{ echo "Hata..."; }
</php>-
GncArt
Ayrıca sayfaları switch yerine if ile çekersen daha kolay olur:
$page = $_GET['sayfa']; if(isset($page)){ include("includes/$page.php"); // Gelen değerdeki sayfayı açar.. }else{ include("includes/anasayfa.php"); // İlk açılışta bu sayfayı yükler.. }
11 yıl önce yazılmış
-
-
hıııı tşk.ler
şey
mesela şu anda admin.php?sayfa=xxx1
bu sayfadan xxx2 diye bir istekte bulunduğumda
admin.php xxx2 fonksiyonuna kadar kadar olan kodlar işleniyormu
yoksa swicht case kadar olan kodlar ve case de xxx2 ise xxx2 fonksiyonumu ?-
GncArt
"xx1" değeri aslında "./includes/xx1.php" dosyasını temsil eder ve yukarda yazdığım GET metodunun bulunduğu alana "xx1.php" dosyasını include eder ve görüntüler. Bu değer değiştiğinde sadece kodun bulunduğu alan değişir. Yani belirli bir alana bu kodu kullanarak istediğin sayfaları çağırabilirsin. Bu da sadece admin.php ile çalışacağın ve diğer sayfalar için şablon kodlarını tekrar yazmak durumunda kalmayacaksın.11 yıl önce yazılmış
-
-
Admin sayfasının tepesinde kontrol etsen yeterli olur.Ben de kendi Kontrol Panelimde öyle yapıyorum.Çünkü ?id=1 kısmı bir fonksiyonu çağırman demek.Bunun için ayrıca kontrole iytiyacın yok.
Hazır yazmışken kendi kullandığım kodları da vereyim :
<? session_start(); if(isset($_POST['uyeadi']) && isset($_POST['sifre']) ) { $uyeadi = $_POST[uyeadi]; $sifre = $_POST[sifre]; $db = mysql_connect("localhost", "kullanıcı adı", "şifre"); if (!$db) die ("MySQL ile veri bağlantısı kurulamıyor!") ; mysql_select_db("veritabanı_adı",$db) or die ("Veritabani açılamıyor!".mysql_error() ); $kontrol="SELECT * FROM users WHERE user='$uyeadi' and pass='$sifre'"; $sorgu=mysql_query($kontrol); $oku=mysql_fetch_Array($sorgu); $sayac=mysql_num_rows($sorgu); if ($sayac == 0) { $donusdegeri = 1; mysql_close(); $_SESSION['uyeid'] = 0; } else{ $donusdegeri = 0; $_SESSION['uyeid'] = 1; } } if (empty($_SESSION['uyeid'])){ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>Yetkilendirilmiş Kullanıcı Giriş Paneli</title> <link href="admin.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="login"> <div id="content"> <form id="giris" name="giris" method="post" action=""> <label class="login-info">Kullanıcı Adı</label> <input class="input" name="uyeadi" type="text" id="kulladi" /> <label class="login-info">Şifre</label> <input class="input" name="sifre" type="password" id="sifre" /> <?php if($donusdegeri == 1) { echo '<pre><font color="#FF0000">Kullanıcı adı veya şifre yanlış!</font></pre>'; } ?> <div id="login-buttton"> <input name="Submit" src="images/girisbutonu.jpg" width="80" height="40" type="image" value="Giriş" /> </div> </div> </form> </div> </div> </body> </html> <?php } else { ?> //Admin Sayfası ?>
Bu şekilde tek sayfada kontrol edersin.Hem de hata mesajı vermek çok kolay olur.