v2.5.2
Giriş yap

başlık bulamadım

emmir2
388 defa görüntülendi

siteye giriş yaparken ilk olarak dil seçtiriyorum

if (!isset($_SESSION['dil'])) {
  header('Location:dil-sec.php');
  exit();
}else{
  require("dil/".$_SESSION["dil"].".php");
}

dil-sec.php de dil seçip anasayfaya tekrar döndürüyorum
Şimdi şöyle bir sorunum oluşuyor kullanıcı profilini paylaştığın da
xx.com/kullanici-adi/ şeklin de siteye giriş yapınca dil-sec.php den sonra anasayfaya gidiyor xx.com/kullanici-adi/ şeklinde yönlenmiyor

xx.com/kullanici-adi/ link yapısını nasıl açtırabilirim

Cevap yaz
Cevaplar (12)
emmir2
655 gün önce

@qplot bak bağcılar şamanı senin tipik ergen kızlar gibi konulara triplenişin nazlanışın için değil bakma olum istemiyosan kimse senin o varoş egonu aptallığını çekmek zorunda değil

qplot
655 gün önce

@munzevi bence boşa vaktini harcama

munzevi
655 gün önce
if ($dil =="tr" || $dil == "en" || $dil == "de" || $dil == "it" || $dil == "fr" || $dil == "nl" || $dil == "sa" || $dil == "es" || $dil == "se" || $dil == "no" || $dil == "bg" || $dil == "fa" || $dil == "jp" || $dil == "fi" || $dil == "be" || $dil == "dk"){
	$_SESSION["dil"] = $dil;
	header("Location:$sayfa");
}else {
    $yonlendiren = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : 'index.php';
    header("Location:$yonlendiren");
}
emmir2
655 gün önce

hocam vallahi çok farklı şeylerden bahsediyoruz site ilk açıldığın da bir dil sessionum var o boş ise dil-sec kısmına atıyor dolayısı ile siteden bir link attığında session olmadığı için o link direkt olarak pasif kalıp dil-sec kısmı aktif oluyor ben bu linkin pasif kalmasını istemiyorum
header.php de olan dil-sec kısmına yönlendiren yer

if (!isset($_SESSION['dil'])) {
  header('Location:dil-sec.php');
  exit();
}else{
  require("dil/".$_SESSION["dil"].".php");
}

dil-sec.php

 <div class="field__wrap">
                          <select class="field__input" onchange="if (this.value) window.location.href=this.value">
                            <option >Dil Seçin</option>
                            <option value="dil.php?dil=tr">TÜRKÇE</option>
                        <option value="dil.php?dil=en">UNITED KINGDOM</option>
                            <option value="dil.php?dil=de">GERMANY</option>
                            <option value="dil.php?dil=it">ITALY</option>
                            <option value="dil.php?dil=fr">FRANCE</option>
                            <option value="dil.php?dil=nl">NETHERLANDS</option>
                            <option value="dil.php?dil=sa">SAUDI ARABIA</option>
                            <option value="dil.php?dil=es">SPAIN</option>
                            <option value="dil.php?dil=se">SWEDEN</option>
                            <option value="dil.php?dil=no">NORWAY</option>
                            <option value="dil.php?dil=bg">BULGARIA</option>
                            <option value="dil.php?dil=ma">FARSÇA</option>
                            <option value="dil.php?dil=jp">JAPAN</option>
                            <option value="dil.php?dil=fi">FINLAND</option>
                            <option value="dil.php?dil=be">BELGIUM</option>
                            <option value="dil.php?dil=dk">DENMARK</option>
                          </select>
                        </div>

$_SESSION['dil'] sessionu varken zaten sorun olmuyor

 <a class="header__box" href="dil.php?dil=tr">
    <div class="header__category">TÜRKÇE</div>
</a>
<?php
include 'panel/fonksiyon.php';
$sayfa = $_SERVER['HTTP_REFERER'];
$dil	=strip_tags($_GET["dil"]);
if ($dil =="tr" || $dil == "en" || $dil == "de" || $dil == "it" || $dil == "fr" || $dil == "nl" || $dil == "sa" || $dil == "es" || $dil == "se" || $dil == "no" || $dil == "bg" || $dil == "fa" || $dil == "jp" || $dil == "fi" || $dil == "be" || $dil == "dk"){
	$_SESSION["dil"] = $dil;
	header("Location:$sayfa");
}else {
	header("Location:index.php");
}
?>
munzevi
655 gün önce

kasten mi yapıyorsun? @tayfunerbilen'in kendisi örnek verdi, öncesinde bende mevcut örneğin olduğu soruya link bıraktım. tamam anlamamış olabilirsin, de güzel insan sinir oldum anlaman için nasıl çalıştığına dair her türlü argümanı verdim. ki html'in rel özelliğine kadar değindim, bu artık top nokta, konuyla alakalı ama gereksiz bir bilgiydi. dil seçtirdiğin sayfanın kodlarını at, düzenleyip ekleyim.

emmir2
655 gün önce

hocam o site benim örnek için verdiğim siteydi o site doğru çalışıyor

şimdi sizin beni anlamadığınız nokta şurası
şimdi ben bir emlakçıyım siteye üye oldum profil linkim ise
bu yakın çevreme profilimi göstermek için paylaşacağım veya instagramda bioma ekleyeceğim
bu linke yeni birisi girdiği zaman dil-sec.php den sonra anasayfaya gönderiyor. benim istediğim ise dil-sec.php den sonra profile gitmesi tıpkı https://www.doctorsinturkey.com/eda-akpinar-1 bu örnekteki gibi
aynı şekil diğer sayfalar da öyle blog olsun hakkımızda olsun sözleşme sayfaları olsun dil-sec den sonra anasayfaya değil linke gitsin direkt olarak

munzevi
655 gün önce

ben bi sorun görmüyorum. düzgün bir şekilde çalışıyor. https://www.doctorsinturkey.com/loc.php?loc=tr adresinden dil seçtikten sonra önceki sayfaya yönlendiriyor. ama kalkıpta https://www.doctorsinturkey.com/loc.php?loc=tr bu linke hiçbir yönlendirme olmadan, doğrudan adres barına yazıp gidersen, bir önceki mesajda bahsettiğim durum yaşanır. senden benden başka kimsede bu linke doğrudan gitmez, site içerisinde tıklayınca zaten referans alınmış oluyor. hala daha anlamamışsın. daha nası örneklendirebilirim bilmiyorum.

https://www.doctorsinturkey.com/eda-akpinar-1 bu adrese gittiğim zaman çıkan dropdown'dan https://www.doctorsinturkey.com/loc.php bu adres üzerinden bir dil seçtiğimde

/*
    loc.php
*/
echo $_SERVER['HTTP_REFERER']; //https://www.doctorsinturkey.com/eda-akpinar-1 

ama çerezi sildim, doğrudan bu adrese gittiö https://www.doctorsinturkey.com/loc.php?loc=tr;

/*
    loc.php
*/
echo $_SERVER['HTTP_REFERER']; //Undefined
emmir2
655 gün önce

site.com/profil şeklin de siteye giriş yapılacağı için $_SERVER['HTTP_REFERER'] bu işe yaramıyor

istediğim şey tam da şöyle

https://www.doctorsinturkey.com/eda-akpinar-1
linke gidiyor dil seçtiriyor kaldığı yerden devam ediyor

munzevi
655 gün önce

$_SERVER['HTTP_REFERER'] etkileşim için yönlendiren olması gerekiyor, adından da anlayacağın gibi yönlendiren bilgisini veriyor. doğrudan erişim yaparsan tabi ki değer vermez. test etmek için,

<a href="site.com/profil">hey, sitede ki profilime baksana!..</a>

not: bazı siteler yönlendirme bilgisi vermemek için, bağlantılar no-ref ekleyebiliyor. o zaman çalışmaz.

<a rel="noreferrer" href="site.com/profil">hey, sitede ki profilime baksana!..</a>
emmir2
655 gün önce
 $_SERVER['HTTP_REFERER'] 

Boş veri veriyor
Notice: Undefined index: HTTP_REFERRER in C:\xampp\htdocs\emlakci\dil-sec.php on line 38

tayfunerbilen
655 gün önce

Dil seçiminden sonra yönlendirme işlemini referer bilgisine göre yapabilirsin : $_SERVER['HTTP_REFERER']

header('Location:' . $_SERVER['HTTP_REFERER']); // referer a geri yönlendir
munzevi
659 gün önce

varsayılan ayarlayabilirsin. tarayıcıya bakıp türkçe ise türkçeye yönlendirebilir, türkçe değilse else kısmına ingilizce falan koyabilirsin. veya referans url'i alıp, dili seçtikten sonra sayfaya yönlendirebilirsin. birkaç soru geride benzer bir soru var, yönlendirme için yanıtlara bakabilirsin https://prototurk.com/soru/6099-php-login