Thursday, October 25, 2012

Permalink Layaknya Wordpress Dengan cara yang paling bodoh Part 2


Menyambung tulisan gw tentang Permalink Layaknya Wordpress Dengan cara yang paling bodoh
Jadi masih ingat khan dengan ini.


[QUERY_STRING] =>
[REQUEST_URI] => /permaling/woi-cobain-permalinkdonk

Sebenarnya dengan gw kasih salah satu core permalink gw harusnya udah pada ngarti tapi untuk lebih jelas ini dia...

Gw akan mulai dengan permalink seperti ini
http://localhost/permaling/id/334/woi-cobain-permalinkdonk 

kita print dulu REQUEST_URInya
echo $_SERVER['REQUEST_URI'];

hasilnya adalah jreng jreng...

/permaling/id/334/woi-cobain-permalinkdonk

karena ini gw di subdirectory maka directorynya juga muncul yaitu permaling.
Logikanya seperti ini, tangkap apapun setelah directory /permaling/ codenya adalah

$localpath = '/permaling/'; //namasubdirectory
$gettingpath = explode ($localpath, $_SERVER['REQUEST_URI']);
print_r($gettingpath); 
hasilnya adalah

Array ( [0] => [1] => id/334/woi-cobain-permalinkdonk )

Kenapa kok gw kasih id? karena ntar itu untuk membedakan, jadi elu bisa macem macem slug, yaitu media, images, pdf, atau apalah. kedua itu ntar bisa sangat ringan kalau buat nyari ke dalam database.. karena dalam database itu ruar biasa buanyak....

sekarang kita buat pembeda antara root directory ( tempat di mana cms atau subdirectory dari script ini ) atau post, atau media lain yang mungkin elu akan buat nanti...

$localpath = '/permaling/'; //namasubdirectory
$gettingpath = explode ($localpath, $_SERVER['REQUEST_URI']);

$gettingid = explode ('/',$gettingpath[1]);

/*
print_r ($gettingid);
Array
(
    [0] => id
    [1] => 334
    [2] => woi-cobain-permalinkdonk
)
*/

if ($gettingid[0] == "id") {
//maka disini adalah post ( single post kalau di wordpress )
// kalau gw sih begini dah scriptnya...
//$rsa = "SELECT * FROM `isi` WHERE `ftubeid` = '$gettingid[1]' LIMIT 1";
//code seterusnya dari sql itu... ( very light, dan sangat makan kecil dari resouce )

echo "ini single post";
}elseif(($_SERVER['REQUEST_URI'] == $localpath) OR ($gettingid[0] == "index.php") )
{
//maka disini adalah index, 
// Usahakan index ini yang paling akhir dari logicnya soalnya ntar kalau elu bikin search ala wordpress, atau media lain seperti mungkin pdf, atau video, atau apalah jaminan belibet ntar...
echo "index.php";
} else {
//disini elu bisa bikin search query atau 404 error aja...
echo "error ";
}

sekarang coba elu akses ke

http://localhost/permaling
atau
http://localhost/permaling/index.php

pasti muncul tulisan index.php khan?

trus coba lagi ke
http://localhost/permaling/id/333/manga

akan muncul ini single post
trus coba lagi ke

http://localhost/permaling/?nejfneuifuanufuefrne8biubeufbffb

akan muncul error, karena permalink tidak di ketahui... lumayanlah bisa buat protektif dari sql injection... jadi dia cuma bekerja sesuai dengan syarat dan peraturan yang kita buat...

Okeh done sementara itu mungkin bisa kita sambung lagi kapan kapan