Load sonrası url değiştirme
Merhaba, link yapısı olarak trendyol mantığı çalışmaktayım.
Url yapısında ürün id değerini kullanıcı değiştirirse product.php yüklendikten sonra alınan id değerine göre url title değiştirmek istiyorum nasıl yapabilirim?
Url
http://localhost/index/brand/product-title-p-11
$product_id = $_GET['p'];
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
en baştan düşündüğün mantık hatalı. eğer sen şöyle bir link istiyorsan
siteadi.com/marka/urun
gibi.. O zaman aslında gerçekte şöyle bir yapın olmalı
siteadi.com/product.php?brand=marka&url=urun
ve htaccessde bunu şöyle değiştirmelisin
RewriteEngine On
RewriteRule ^([0-9a-zA-Z-_]+)/([0-9a-zA-Z-_]+)$ product.php?brand=$1&url=$2
artık istediğin url'e giriş yapabilirsin, product.php
dosyanda ise $_GET['brand']
ve $_GET['url']
ile değerleri alıp ona göre ürünü göstermelisin.
....
ya da bunların hiçbirisiyle uğraşmayıp artık route yapısı kurma vaktin gelmiştir, bunun için hazır sınıflar var onları deneyebilirsin, kendin bir tane yazabilirsin.
örnek bir video istersen: https://www.youtube.com/watch?v=GOwFVMOJv68
Route yapısını incelemeye başladım öneriniz için teşekkürler ancak bahsetmek istediğim :
Kullanıcı product.php sayfası açık ve url id parametresi 11 olan değeri 12 olarak değiştirdiği zaman sayfa tekrar yükleniyor ancak link yapısında ki ürün ismi hala 11 değerininin ürün ismi kalıyor.
Yapmak istediğim tam olarak kullanıcı id değerini değiştirdiği zaman idsine eşit olan ürün ismide urlde değişicek. Nasıl bir yol izlemeliyim?
Edit: Tayfun hocam route yapısı tüm haritamı çıkardı tekrardan teşekkür ederim.