$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
php tarayıcılar arasında farklılık
6
●696
- 26-09-2012, 13:35:39Sunucundan bulunan bu dosyaları array içine yerleştirirken / koymanın amacı nedir peki?bjkasim adlı üyeden alıntı: mesajı görüntüle
- 26-09-2012, 16:46:59$_SERVER['PHP_SELF'] ile gelen sayfa isimleri /index.php diye geliyor o yüzden...loc adlı üyeden alıntı: mesajı görüntüle
--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:39:31Kimlik 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, 13:08:55Üyeliği durdurulduBunun 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 ?>