Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

PHP session kontrolü

mrb. arkadaşlar
benim bi sayfa yapım var şu şekilde
index.php?sayfa=a
index.php?sayfa=b

index.php de bunları swcith ile kontrol ediyorum
<?php
$Sayfa=$_GET["Sayfa"];
include ('func.php');
switch($Sayfa)
{
case "a": a (); break;
}
?>

a fonksiyonum ise func.php nin içinde
tabi burası bi admin paneli
session varmı yokmu diye her fonksiyonda yani aa bb cc fonksiyonlarındamı kontrol etmem lazım
yoksa func.php nin başında kontol ettirmem mi lazım
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • 1
    GncArt adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    42 cevap - 13 soru
    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 adlı üyenin fotoğrafı 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..
      }
      
      10 yıl önce yazılmış
  • mehmetali adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    41 cevap - 103 soru
    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 adlı üyenin fotoğrafı 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.
      10 yıl önce yazılmış
  • 1
    aperioos adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    2 cevap - 1 soru
    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.