v2.5.2
Giriş yap

Php'de dil değiştirdiğimde mevcut sayfada kalması

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

Kullanıcının dil bağlantısını tıklayarak geçerli sayfayı değiştirmeden dil değiştirebilmesini istiyorum.

Aşağıdaki gibi bir kod buldum. Çalışıyor, ancak sayfa adları farklı olduğu için şöyle bir hata alıyorum:
Örneğin: "../en/about.php" sayfasındayken dili değiştirdiğimde, "../tr/about.php" sayfasına gidiyor. Gitmesi gereken sayfa "../tr/hakkimizda.php".

Bu sorunu nasıl çözebilirim?

PHP

<?php
$path = trim($_SERVER['REQUEST_URI'],'/');

$lang = explode('/',$path)[0];

$langs = [

'en'=>preg_replace("/$lang/",'../en',$path,1),
'tr'=>preg_replace("/$lang/",'../tr',$path,1),

];
?>

HTML

<ul>

<li>
   <a href="<?= $langs['tr']?>">Türkçe</a>
</li>

</ul>

aydinkeskin
1435 gün önce

neden öyle yapıyorsun ki.

dili sessionda tut
eğer session tr ise atıyorum haber ekliyorsun bir sutun da dil ekle tabloya.
listelerkende session dil değerine göre listelet varsayılan ı da tr yap

bütün içerikleri tek tabloya ekletmiş olursun listelemedede sorunun kalmaz.
hepsi session da tutacağı içinde bir sayfa değişimde bir sorun yaşamazsın.
eklerkende session dil değeri atıyorum tr ise dil sütünuna tr ekler en ise en ekler
işin daha kolay olur.