v2.5.2
Giriş yap

Php id gizleme

mbykplt
835 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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

tayfunerbilen
1478 gün önce

ö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.