Php id gizleme
Merhaba prototürk ailesi;
Yaklaşık 1 aydan beri, boş olduğum zamanlarda ofisimiz için kurumsal bir websitesi geliştiriyorum tam herşey bitti bitecek derken aklıma şu takıldı.Örnek verecek olursak diyelim ki sitemize giriş yapan kullanıcı kampanyalar menüsünden bir kampanyayı inceledi.Herşey güzel sayfa açılıyor, ancak yukarıda adres çubuğunda kampanya-detay.php?kampanya_id=35 şeklinde görünmesini istemiyorum.İnternetten araştırdığım kadarıyla .htaccess ile kapatılıyormuş.Htaccess'den az anladığım için seflink ve şu id konusunu çözemedim.Şimdiden ilginiz için teşekkürler :D
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
öncelikle aramıza hoşgeldin :)
Evet bu işlem .htaccess ile yapılıyor, ancak bilmen gereken bir şey var. Eğer url'in şöyle ise
siteadi.com/kampanya-detay.php?kampanya_id=35
bunu en fazla şöyle bir görünüme sokabilirsin
siteadi.com/kampanya/35
bunu nasıl yaparsın? şöyle;
RewriteEngine On
RewriteRule ^kampanya/([0-9]+)(/?)$ kampanya-detay.php?kampanya_id=$1 [QSA]
Peki bu url'i kampanya başlığı ile göstermek istersek ne yapacağız? Örneğin
siteadi.com/kampanya/kampanya-basligi-bu-olsun
yapacağımız ilk şey, bunu get parametresi olarak göndermek. Yani senin aslında linkin şöyle olmalı
siteadi.com/kampanya-detay.php?kampanya_url=kampanya-basligi-bu-olsun
artık bunu .htaccess
ile şöyle yazabiliriz;
RewriteEngine On
RewriteRule ^kampanya/([0-9a-zA-Z-_]+)(/?)$ kampanya-detay.php?kampanya_url=$1& [QSA]
Artık kampanya-detay.php
de kontrolünü şöyle yapman gerek;
$url = $_GET['kampanya_url'];
// veritabanından ilgili kampanyayı urle göre çekip göstermek
ve giriş yaparkende
siteadi.com/kampanya/kampanya-basligi-bu-olsun
ile giriş yapabilirsin.