v2.5.2
Giriş yap

SEF Link Problemi

ibrahimali
545 defa görüntülendi

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.

Cevap yaz
Cevaplar (3)
ersiin
1214 gün önce

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
1214 gün önce

Rica ederim çok sevindim, kolay gelsin :)

ibrahimali
1214 gün önce

@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