Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

3Beğeni
  • 1 Yazan maymaa
  • 1 Yazan maymaa
  • 1 Yazan enverehan

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

Dil'e göre yönlendirme bir kez çalışsın

  #1  
Okunmamış 01 Eylül 2016, 15:17
pialfa Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 22 Şubat 2014
Yaş / Cinsiyet: 36 / Erkek
Ad, Soyad: Ta... Ko...
Mesajlar: 113
Beğeniler: 13 / 6
Ticaret: 1, 100%
Dile göre yönlendirme kodum normal olarak çalışıyor. Bu kodu index.php ye ekledim. Yönlendirme yapmaktadır. Fakat benim yapmak istediğim şu örneğin misafir sayfaya giriş yaptı en/ alanına otomatik geldi. Tekrar tr/ alanına gelmek istediğinde index.php ye geldiğinde en/ alanına yönlendirme yapmasın.

PHP- Kodu:
$dil substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
     if (
$dil == 'tr') { header("Location: index.php"); }
else { 
header("Location: en/"); } 

374x90

Bu Alana Reklam Ver

  #2  
Okunmamış 01 Eylül 2016, 16:50
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 21 Mayıs 2016
Cinsiyet: Erkek
Konum: Ankara
Ad, Soyad: En... Eh...
Mesajlar: 103
Beğeniler: 27 / 6
Ticaret: 0, 0%
PHP'de setcookie fonksiyonu kullanarak ilk yönlendirmede, yönlendirme işleminin gerçekleştiğini tarayıcıya hafızalarsınız. Birde if'e daha önce yönlendirilmediyse yönlendir tanımı yaparsınız.

Böylelikle sorundan kurtulmuş olursunuz.
https://ehantechnology.com/
  #3  
Okunmamış 01 Eylül 2016, 17:52
Avatar Seçilmemiş
Kimlik Onayı Bekliyor
 
Üyelik Tarihi: 16 Haziran 2016
Yaş / Cinsiyet: 31 / Erkek
Meslek: Öğrenci
Konum: Gaziantep
Ad, Soyad: Mu... Öz...
Mesajlar: 283
Beğeniler: 34 / 54
Ticaret: 1, 100%
referere bakarsın en den geldiyse yönlendirme yapma diye
pialfa bunu beğendi.
  #4  
Okunmamış 01 Eylül 2016, 18:15
pialfa Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 22 Şubat 2014
Yaş / Cinsiyet: 36 / Erkek
Ad, Soyad: Ta... Ko...
Mesajlar: 113
Beğeniler: 13 / 6
Ticaret: 1, 100%
Böyle bir örnek yaptım. doğru mu yaptım acaba?
PHP- Kodu:
$dil substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa $_SERVER['HTTP_REFERER'];

if(
$geldigi_sayfa=='en'){} else{
     if (
$dil == 'tr') { header("Location: index.php"); } 
else { 
header("Location: en/"); } 

  #5  
Okunmamış 01 Eylül 2016, 18:23
Avatar Seçilmemiş
Kimlik Onayı Bekliyor
 
Üyelik Tarihi: 16 Haziran 2016
Yaş / Cinsiyet: 31 / Erkek
Meslek: Öğrenci
Konum: Gaziantep
Ad, Soyad: Mu... Öz...
Mesajlar: 283
Beğeniler: 34 / 54
Ticaret: 1, 100%
if($geldigi_sayfa=='en'){} else{

bu kısımdaki en i tam sayfa adı ile değiştir

if($geldigi_sayfa=='http://sayfa.com/en/'){} else{

gibi kendi siteni yaz
pialfa bunu beğendi.
  #6  
Okunmamış 01 Eylül 2016, 18:31
pialfa Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 22 Şubat 2014
Yaş / Cinsiyet: 36 / Erkek
Ad, Soyad: Ta... Ko...
Mesajlar: 113
Beğeniler: 13 / 6
Ticaret: 1, 100%
BU ŞEKİLDE YAPTIM AMA ÇALIŞMIYOR SİTEDE SORUN NEREDE BİLEMEDİM !

PHP- Kodu:
$dil substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa $_SERVER['HTTP_REFERER'];

if(
$geldigi_sayfa=='http://www.sayfa.com/en/'){} else{
     if (
$dil == 'tr') { header("Location: index.php"); } 
else { 
header("Location: en/"); }

Konu pialfa tarafından (01 Eylül 2016, 19:00 ) değiştirilmiştir.
  #7  
Okunmamış 01 Eylül 2016, 18:53
Avatar Seçilmemiş
Kimlik Onayı Bekliyor
 
Üyelik Tarihi: 16 Haziran 2016
Yaş / Cinsiyet: 31 / Erkek
Meslek: Öğrenci
Konum: Gaziantep
Ad, Soyad: Mu... Öz...
Mesajlar: 283
Beğeniler: 34 / 54
Ticaret: 1, 100%
$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$geldigi_sayfa = $_SERVER['HTTP_REFERER'];
echo $geldigi_sayfa;
if($geldigi_sayfa=='http://www.kanula.com.tr/en/'){} else{
if ($dil == 'tr') { header("Location: index.php"); }
else { header("Location: en/"); }
}

yaparak geldiği yeri tam olarak yazın sıkıntı çıkabiliyor
  #8  
Okunmamış 02 Eylül 2016, 01:35
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 21 Mayıs 2016
Cinsiyet: Erkek
Konum: Ankara
Ad, Soyad: En... Eh...
Mesajlar: 103
Beğeniler: 27 / 6
Ticaret: 0, 0%
Böyle yaparsan 10 günlük bir veri atarsın kullanıcının tarayıcısına. 10 gün sonra çerez süresi biter ve yeniden dil yönlendirmesi yapar. 10 gün ise +604800 kısmını ifade eder. 30 gün yapmak istersen bu sayıyı 3 le çarp ve aşağıda ki 2 satırda ki sayıyla bunu değiştir.

Kodları denemedim, sorun olursa buraya yazarsın tekrar.

PHP- Kodu:
<?php
$dil 
substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
$dil_cookie = @$_COOKIE['dil'];

if( 
$dil_cookie == NULL ) {
    if (
$dil == 'tr') {
        
setcookie('dil','tr', +604800);
        echo 
'<script type="text/javascript">window.location.href ="index.php";</script>';
    } else {
        
setcookie('dil','en', +604800);
        echo 
'<script type="text/javascript">window.location.href ="en/";</script>';
    }
}
?>
pialfa bunu beğendi.
https://ehantechnology.com/
Cevap Yaz Favorilerime Ekle

550x90

Bu Alana Reklam Ver

550x90

Bu Alana Reklam Ver



Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 17:22.