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.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
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 :)
@ersiin senin kodunden ornek alarak böyle bir şey yaptım işe yaradı teşekkür ederim...
function getVars($val = null) {
$adres = $_SERVER["REQUEST_URI"];
$getvariables = [];
$x = explode("?", $adres);
if(isset($x[1])) {
$getdegerleri = $x[1]; // Get degerlerim
$y = array_filter(explode("&", $getdegerleri));
$_var1 = $y[0];
foreach ($y as $_y) {
$ex_var1 = explode("=",$_y);
$getvariables[$ex_var1[0]] = $ex_var1[1];
}
if($val) {
return $getvariables[$val];
}
else {
return $getvariables; // return array
}
}
else {
return false;
}
}
http://localhost/lux/delete?s=test
echo getVars("s"); // cikti: test