• 15-06-2009, 19:58:51
    #1
    Aşağıdaki form sayfası anasayfamda bir div içerisinde duruyor.
    <form class="clearfix" action="index.php?giris=1" method="post"><h2>Firma Girişi </h2>
    					<label class="grey" for="log">E-mail:</label>
    					<input class="field" type="text" name="gfemail" id="femail" value="" size="23" />
    					<label class="grey" for="pwd">Şifre:</label>
    					<input class="field" type="password" name="gfsifre" id="fsifre" size="23" />
    	            	<label><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> 
    	            	&nbsp;Beni Hatırla </label>
            			<div class="clear"></div>
    					<input type="submit" name="submit" value="Giriş" class="bt_login" />
    					<a class="lost-pwd" href="unuttum.php">Şifremi Unuttum</a>
    				</form>
    bu form sayfasında kullanıcı emailini ve şifresini yazarak giriş butonuna basar.Sonrada index.php içerinde şöyle bir kod vardır.
    <?
    	$giris=$_REQUEST['giris'];
    	if ($giris==1)
    	{
    	include("firmagiris.php");
    	}
    	?>
    yani eğer kişi giriş butonuna basınca anasyfaya bi girs=1 gönderilir bu giris=1 i gören "if deyimi" hemen firmagiris.php dosyamı yani şu oluyor.
    <?php
    ob_start();
    include("baglanti.php");
    $gfemail=$_POST['gfemail'];
    $gfsifre=$_POST['gfsifre'];
    session_start();
    session_register(gfemail);
    session_register(gfsifre);
    session_register(giris);
    $medebes=md5($gfsifre);
    $gfemail=$_SESSION['gfemail'];
    $gfsifre=$_SESSION['gfsifre'];
    # kullanici bilgisi alalim
      $sorgu = mysql_query("select femail from Firmalar where femail = '$gfemail' ");
      if( mysql_num_rows($sorgu) != 1 ){
        print '<script>alert("Bu email veritabanimizda kayitli degildir.Eger yeni kayit oluyorsaniz lütfen firma ekle linkini kullaniniz");history.back(-1);</script>';
        exit;
      }else{
        # veriyi aliyoruz
        $sorgu = mysql_query("select fsifre from Firmalar where femail = '$gfemail' ");
    	$row=mysql_fetch_array($sorgu);
    	  }
    # sifre eslestirmesi
      if( $medebes != $row['fsifre'] ){
        print '<script>alert("Yanlis sifre girdiniz!");history.back(-1);</script>';
        exit;
      }
    ?>
    oturum açıldı.
    işte bu şekilde o formu kullanan birisinin session kaydını tutmuş oluyorum.Ama sorun şu ki.
    benim anasayfada (aynı sayfa) kategorilerim var.bu kategorim veritabanında fsehir değişkeni çekilip oluşturuluyor ve aşağıdaki gibi bir link çıkışı sağlanıyor.
    <a href="index.php?fsehir=<? echo $row['fsehir']; ?>" ><? echo $row['fsehir']; ?></a
    İşte ben bu kategorilerime tıklayınca session sonlanıyor.Yani adam hiç giriş yapmamış gibi oluyor.Oysa aynı sayfa yani index.php ye gönderiyorum linki.Sizce session kaydının sonlanmasını nasıl engelleyeblilirim?
  • 15-06-2009, 20:20:14
    #2
    sayfaların en üstünde session_start() olması gerekir
  • 15-06-2009, 23:18:39
    #3
    sayfanın başında session_start(); var ama index.php?fsehir=ankara bağlantısına tıklayınca oturum sonlanıyor. (
  • 16-06-2009, 08:54:16
    #4
    Üyeliği durduruldu
    <?php
    include("ayar.php");
    session_start();
    ob_start();
    $user = $_POST[user];
    $pass = $_POST[pass];
    $sor = mysql_query("SELECT id,user,pass FROM uye WHERE user='$user' and pass='$pass' ");
    while ($liste = mysql_fetch_array($sor))  {
    
    		if(@mysql_num_rows($sor) > 0){
    //if(($_POST["user"]==$user) and ($_POST["pass"]==$pass)){
    
    $_SESSION["login"] = "true";
    $_SESSION["user"] = $user;
    $_SESSION["pass"] = $pass;
    
    header("Location:index.php");
    
    }else{
    
    echo "Kullanici adi veya sifre yanlis.";
    
    header("Refresh: 2; url=giris.php");
    
    }
    }
    ob_end_flush();
    ?>
    giriş kontrolünü yukarıda verdiğim şekilde yaparsanız daha doğru olur sanıyorum.
    Bu şekilde sesiona atadıktan sonra
     if(!isset($_SESSION["login"])){
    
    echo "Bu sayfayý görüntüleme yetkiniz yoktur.";
    
    } else{
    her sayfada bu kodu kullanarak işlem yaparsanız sorun olmayacaktır.

    Sorununuzun çözümünü bulamadığım için kendi kodlarımdan göstermek istedim.
    Saygılar.
  • 16-06-2009, 22:55:22
    #5
    yav süpersin kardeşim bee o login işe kurtardı beni seni her gördüğümde repleyecem ulen
  • 17-06-2009, 08:15:24
    #6
    Üyeliği durduruldu
    tanermacit adlı üyeden alıntı: mesajı görüntüle
    yav süpersin kardeşim bee o login işe kurtardı beni seni her gördüğümde repleyecem ulen
    birşey değil.