• 26-09-2012, 13:22:16
    #1
    $gecerlisayfa=array("/index.php","/arsiv.php","/haberler.php","/okurlar.php","/profil.php","/haberic.php","/yazar.php","/icerik.php");
    if (in_array($_SERVER['PHP_SELF'],$gecerlisayfa))
    {
    if (!empty($_SERVER['QUERY_STRING']))
    $_SESSION["adres"]=$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
    else
    $_SESSION["adres"]=$_SERVER['PHP_SELF'];
    }

    bu yukarıdaki fonksiyon firefoxta doğru çalışıyor yalnız crome da $gecerlisayfa dizisinde olmayan sayfada $_SESSION["adres"]=/index.php oluyor yani


    bu fonksiyonu kullanıcı giriş yaptığı zaman kaldığı yerden devam etmesi için kullanıcam ama cromede sorun yaşıyorum ilk defa tarayıcılar arası php kodu farkjlılığı gördüm
  • 26-09-2012, 13:35:39
    #2
    bjkasim adlı üyeden alıntı: mesajı görüntüle
    $gecerlisayfa=array("/index.php","/arsiv.php","/haberler.php","/okurlar.php","/profil.php","/haberic.php","/yazar.php","/icerik.php");
    if (in_array($_SERVER['PHP_SELF'],$gecerlisayfa))
    {
    if (!empty($_SERVER['QUERY_STRING']))
    $_SESSION["adres"]=$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
    else
    $_SESSION["adres"]=$_SERVER['PHP_SELF'];
    }

    bu yukarıdaki fonksiyon firefoxta doğru çalışıyor yalnız crome da $gecerlisayfa dizisinde olmayan sayfada $_SESSION["adres"]=/index.php oluyor yani


    bu fonksiyonu kullanıcı giriş yaptığı zaman kaldığı yerden devam etmesi için kullanıcam ama cromede sorun yaşıyorum ilk defa tarayıcılar arası php kodu farkjlılığı gördüm
    Sunucundan bulunan bu dosyaları array içine yerleştirirken / koymanın amacı nedir peki?
  • 26-09-2012, 16:46:59
    #3
    loc adlı üyeden alıntı: mesajı görüntüle
    Sunucundan bulunan bu dosyaları array içine yerleştirirken / koymanın amacı nedir peki?
    $_SERVER['PHP_SELF'] ile gelen sayfa isimleri /index.php diye geliyor o yüzden...

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:46:59 -->-> Daha önceki mesaj 13:32:53 --

    sorunu buldum ama çözemedim in_array false değeri alınca index.php ye yönleniyor... $_sesson["adres"] nasıl çözerim
  • 26-09-2012, 21:30:37
    #4
    yokmu bir usta bilen ya ?
  • 26-09-2012, 21:39:31
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım in_array kontrolünde şart yerine gelmiyorsa ne olacağına dair bir şey koymamışsın ki. Yani $gecerlisayfa içinde değilse nereye gideceğini yazmamışsın:
    $gecerlisayfa=array("/index.php","/arsiv.php","/haberler.php","/okurlar.php","/profil.php","/haberic.php","/yazar.php","/icerik.php");
    if (in_array($_SERVER['PHP_SELF'],$gecerlisayfa)){
       if (!empty($_SERVER['QUERY_STRING'])) $_SESSION["adres"]=$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
       else $_SESSION["adres"]=$_SERVER['PHP_SELF'];
    }else{
       $_SESSION["adres"] = 'gidecek_sayfa';//buraya şart karşılanmayınca gideceği yeri yazacaksın. PHP_SELF veya ne ise
    }
  • 28-09-2012, 02:55:41
    #6
    acayip adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım in_array kontrolünde şart yerine gelmiyorsa ne olacağına dair bir şey koymamışsın ki. Yani $gecerlisayfa içinde değilse nereye gideceğini yazmamışsın:
    $gecerlisayfa=array("/index.php","/arsiv.php","/haberler.php","/okurlar.php","/profil.php","/haberic.php","/yazar.php","/icerik.php");
    if (in_array($_SERVER['PHP_SELF'],$gecerlisayfa)){
       if (!empty($_SERVER['QUERY_STRING'])) $_SESSION["adres"]=$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
       else $_SESSION["adres"]=$_SERVER['PHP_SELF'];
    }else{
       $_SESSION["adres"] = 'gidecek_sayfa';//buraya şart karşılanmayınca gideceği yeri yazacaksın. PHP_SELF veya ne ise
    }

    zaten gitmeyecekki...
  • 28-09-2012, 13:08:55
    #7
    Üyeliği durduruldu
    Bunun yerine referer kontrolü yapabilirdiniz , ama refererda belirli sayfalara bakmak var ise yönlendirmek istiyorsanız şu şekilde bir işlem yapabilirsiniz ;

    <?php	
    	function _stripos( $args = array() , $data )
    	{
    		if( !is_array($args) ) return false;
    		foreach( $args as $key ){
    			if( !stripos( $data , $key) !== TRUE )
    				return TRUE;
    		}
    	}
    	
    	// Kullanıcının geldiği yer referer değerini değiştirdim örnek olması açısından.
    	$_SERVER['HTTP_REFERER'] = 'http://localhost/login.php?page=listUsers';
    	$referer = $_SERVER['HTTP_REFERER'];
    	if( $referer && _stripos(array( 'index.php' , 'login.php' , 'diger.php') , $referer) ){
    		/*
    			$url = parse_url( $referer );
    			print_r( $url );
    			Çıktı ; 
    			Array
    			(
    				[scheme] => http
    				[host] => localhost
    				[path] => /login.php
    				[query] => page=listUsers
    			)
    		*/
    		$_SESSION['referer'] = $referer;
    	}else{
    		$_SESSION['referer'] = 'base_url';
    	}
    	
    	echo $_SESSION['referer'];
    	// Çıktı ; http://localhost/login.php?page=listUsers
    ?>