Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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