Postingan lainnya
Thread ini sudah dihapus oleh penulis. Silahkan buka thread yang lain. Terima kasih.
Thread ini sudah dihapus oleh penulis. Silahkan buka thread yang lain. Terima kasih.
17 Jawaban:
bisa coba buat file samaran di htaccess RewriteRule ^samaran\.php$ index.php?id=22 [L] pada formNya actionnya ditujukan ke samaran.php jadi saat url dipanggil maka akan tampil www.domain.com/samaran.php yg samaran dari index.php?id=22 jikapun ada yg ingin merubah kodenya akan kebingungan karna file samaran.php tidak akan ada di folder project anda :)
kalau merubah dari www.domain.com/index.php?id=22 menjadi www.domain.com/judul-artikel.html gimana ya Gan ? :D
caranya sama seperti pake id, tinggal diganti yang sbeelumnya linknya pake id dan di halamannya $_GET['id'] diganti jadi judul. Kalau mau pake nama judul pake baris (nama-judul) pas insert ke databasenya sediain kolom namanya bebas, misalnya 'slug', slug ini isinya judul tadi tapi pake metode relpace php kaloa da tanda kosong diganti jadi - (tanda kurang)
ada Link tutorialnya gak Gan Hilman, saya masih kurang paham :D
di table artikel u, bikin field misalnya namanya slug. disitu u masukin permalink u (saya biasa sebutnya URI). kan nanti tinggal id itu digantiin aja jadi slug waktu querynya.
Gan kalau mau URLnya bersih, u pakai framework aja misal Code Igniter ni gan tutorial kalau pakai CI
http://qaiserlab.com/2016/07/belajar-routing-ci/
kalau u kreatif materi dari artikel itu, u kombinasiin sama field slug tadi
tapi kalau u mau native aja tanpa Code Igniter. berarti u parsing sendiri URLnya. u parsing url setelah index.php. gini gan misal;
http://www.encok.com/index.php/bla/bla/gan
nah u ambil tuh /bla/bla/gan caranya pakai gini;
kalau kode seperti ini mengubah ke PATH_INFO gimana ya Gan ? :D
<?php
require_once "core/init.php";
require_once "view/header.php";
$error = '';
$id = $_GET['id'];
if (isset($_GET['id'])){
$article = tampilkan_per_id($id);
while($row = mysqli_fetch_assoc($article)){
$judul_post = $row['judul'];
$konten_post = $row['isi'];
$tag_post = $row['tag'];
$waktu_post = $row['waktu'];
$id_post = $row['id'];
}
}
?>
kalau agan balik lagi ke pertanyaan pertama yg pengennya;
url; www.domain.com/index.php?id=22
diubah jadi; www.domain.com/index.php?id=tutorial-koding-lengkap
ya gampang aja. buat field slug tadi. atau biar lebih nyambung di table agan bikin field namanya permalink tipenya text atau varchar
<?php
require_once "core/init.php";
require_once "view/header.php";
$error = '';
$permalink = $_GET['permalink'];
if (isset($_GET['permalink'])){
$article = tampilkan_per_permalink($permalink);
while($row = mysqli_fetch_assoc($article)){
$judul_post = $row['judul'];
$konten_post = $row['isi'];
$tag_post = $row['tag'];
$waktu_post = $row['waktu'];
$id_post = $row['id'];
}
}
?>
kalau masih belum paham;
<?php
function tampilkan_per_permalink($permalink) {
....
....
mysqli_query($con,"SELECT * FROM tb_posts WHERE permalink='".$permalink."'");
....
}
/**********************************************************************************/
nah kalau pakai path info itu kalau agan mau ubah url jadi;
www.domain.com/index.php/tutorial-koding-lengkap
kalau pakai .htaccess artinya url mau diubah jadi;
www.domain.com/tutorial-koding-lengkap
Nah kalau pakai path Info gimana Gan qaiserlab ?
gan. saran saya nih. u coba-coba sendiri dulu; susah berkembang loh, kalau belum dicoba dah nanya lagi nanya lagi
coba liat agan buka web agan ky bgini misal;
www.domain.com/index.php/TutorialKoding/lengkap
trus agan di index.php tulis script begini;
<?php
echo $_SERVER['PATH_INFO'];
nantikan keliatan tuh apa yg keluar misal keluarnya
/TutorialKoding/lengkap
berartikan agan bisa aja kreatif begini
<?php
class TutorialKoding {
public function lengkap() {
echo 'halaman tutorial lengkap';
}
}
$pathInfo = $_SERVER['PATH_INFO'];
$explodedPath = explode('/', $pathInfo);
eval('$object = new '.$explodedPath[1].'()');
eval('$object->'.$explodedPath[2].'()');
tu script diatas gatau jalan pa ga. Tapi bukan script jalan pa ga yg penting. Yg penting agan pahamin maksud saya
sekali lagi ya Gan, kalau pakai str_replace biar ketika sy input Judul ke database terus masuk ke dua table misal table judul dan slug terus isi table slug itu jadi tutorial-koding-lengkap gimana ya ?
<?php
........
........
$explodedJudul = explode(' ', $judul);
$slug = '';
foreach($explodedJudul as $singleWord) {
$slug .= strtolower($singleWord).'-';
}
Tapi masih ada cacat dikit tuh kode, benerin sendiri ya
Ini gan source code router buat kasus u;
http://qaiserlab.com/2016/07/experiment-membuat-router-url-dengan-php-native/
scroll ke paling bawah halaman aja, itu dah jalan scriptnya. Di section "Source Code Lengkap"
Saya belajar membuat url shortener,
Bagaimana cara ubah permalink short.php?id=1
Menjadi angka acak
short.php?id=Qw6hd7g