SEF Link Problemi
Selam
Biraz uzun olacak amma vakti olan ve yardım etmek isteyen olursa çok sevinirim...
Ben @tayfunerbilen Hocamin öğretdiyi gibi sitede url yapılandırması yaptım.
htaccess dosyası böyle:
RewriteEngine On
RewriteRule ^([0-9a-zA-Z-_/]+)$ index.php?url=$1
Daha Sonra bunları video da gösterdiği gibi $url - i array alıp, explode olarak
bölüp view-lara ve controller-lere yönlendiriyorum. Sorun yok çok güzel de çalışıyor.
örneğide yazayım daha açıklayıcı olsun.
<?php
$_url = get('url');// get fonksionu ayarlanıp $_GET["url"] olarak
$_url = array_filter(explode('/', $_url)); // Buradan $_GET["url"] i bölüp $url[0],[2] olarak alıyorum
?>
Örnek Olarak ben bu linki ala biliyorum
// http://localhost/profil/my
$url1 = $_url[0]; // ciktisi profil
$url1 = $_url[1]; // ciktisi my
Benim almak istediğim ise böyle birşey
// http://localhost/profil/my?s=success
buradan s değerini $_url[3] olarak değilde $_GET["s"] olarak almak istiyorum.
umarım derdimi anlata bildim :)
Yardımcı olan olursa çok sevinirim.
PS. Türkçede problem olduysa kusura bakmayın. Azerbaycanlıyım.
Anlatmak istediğini böyle anladım ama... Kolay gelsin öncelikle :)
<?PHP
function getdegerleri($sayi = 0){
$adres = $_SERVER["REQUEST_URI"];
$x = explode("?", $adres);
$getdegerleri = $x[1];
$y = array_filter(explode("&", $getdegerleri));
$z = $y[$sayi];
$deger = explode("=", $z);
return $deger[1];
}
Örneğin sayfamızın adresi şöyle olsun:
http://localhost/profile/my?action=1&s=success&page=1
Url sonunda üç tane get değeri var. Hangi değeri almak istiyorsan o değerin sayısını girmen yeterli. Örneğin:
getdegerleri(0);
//Çıktı: 1
getdegerleri(1);
//Çıktı: success
getdegerleri(2);
//Çıktı: 1
Yani ha $_GET[""] ile almışsın ha alttaki gibi :)
$degisken = getdegerleri(0);
Yardım edebilmişimdir umarım :)