v2.5.2
Giriş yap

$_GET['id'] Url 'den gizlemek istiyorum

yahyairis
1,613 defa görüntülendi

Arkadaşlar Merhabalar, ödevim için basit bir blog sayfası yapıyorum.
Sayfaya veriler çekiliyor detay sayfasında da veriler geliyor, detay sayfasını açtığım zaman url şu şekilde geliyor.
http://localhost/mezuniyetodevi/deneme-13
ama ben ID olmadan gelmesini istiyorum yani;
http://localhost/mezuniyetodevi/deneme
Bu şekilde mümkün müdür? Biraz araştırdım ama pek bir şey bulamadım.

tayfunerbilen
1359 gün önce

Bunun için senin kontrollerin önemli. Diyelim ki normalde eriştiğin linkin şöyle olsun

siteadi.com/blog.php?id=1&url=test-url

Ve sen .htacccess ile bunu şu hale getirdin

RewriteEngine On
RewriteRule ^([0-9]+)-([0-9a-zA-Z-_]+)$ blog.php?id=$1&url=$2 [QSA]

Artık bu linke şöyle erişiyor olabilmen lazım

siteadi.com/1-test-url

ve blog.php dosyanda ise id ve url i $_GET ile alıp ona göre kontrol yapıyor olman lazım.

// blog.php

$id = $_GET['id'];
$url = $_GET['url'];

// db işlemleri...

Şimdi sen bu mantıkta hem id'yi hem url'i kontrol ediyorsun. Ancak yapmak istediğin id'yi ortadan kaldırmak ise öncelikle link yapın şöyle olmalı.

siteadi.com/blog.php?url=test-url

buna görede .htaccess dosyanı şöyle düzenlemelisin

RewriteEngine On
RewriteRule ^([0-9a-zA-Z-_]+)$ blog.php?url=$2 [QSA]

Ve artık şöyle erişiyor olabilmen lazım.

siteadi.com/test-url

Bu mantıktada blog.php dosyan şöyle olmalı

// blog.php

$url = $_GET['url'];

// db işlemleri -> sadece urle göre konrol edip konu bilgilerini çek