v2.5.2
Giriş yap

Javascript'de Session değiştirme

hakan2004
306 defa görüntülendi

Arkadaşlar Selamun aleyküm. ajax ile profil güncelleme sayfası yapıyorum. bilgiler başarıyla güncelleniyor ancak js'de sessionları değiştiremiyorum.

$guncelle=$VT->SorguCalistir("UPDATE kullanicilar ","SET adsoyad=?, kullanici=?, mail=? WHERE ID=?",array($adsoyad,$kullanici,$mail,$ID),1);

if ($guncelle!=false) 
{
	$jsoncikti = array( "islem" => true, "sonuc" => "Bilgiler Başarıyla Güncellendi", "adsoyad" => $adsoyad, "kullanici" => $kullanici, "mail" => $mail );			  
}
else
{
	$jsoncikti = array( "islem" => false, "sonuc" => "Bir sorun oluştu !!!" );
}

Buradan gelen adsoyad mail ve kullanıcı bilgilerini sessiona atamam gerekiyor

$("#profilgonder").click(function() {
    $.ajax({
        type:"post",
        url:"<?=$siteURL?>data/islem.php",
        dataType: 'JSON',
        data:$("#profilbilgi").serialize(),
        success:function(data) 
        {
        
        if(data.islem)
        	{		 
        		$("#apps").append("<div class='bildirim'><img class='uyari' src='<?=$siteURL?>assets/media/img/tamam.svg'>"+data.sonuc+"</div>");  
        sessionStorage.getItem('key');
        
        // BURAYA yeni session değerlerini atamam gerekiyor
        // $_SESSION['mail']=data.mail gibi
        
        
        	}
        	else
        	{
        		$("#apps").append("<div class='hata'><img class='uyari' src='<?=$siteURL?>assets/media/img/hata.svg'>"+data.sonuc+"</div>");
        	
        	}
        }
    
    }).complate(function() {
        $("button").show();
        $("#loadd").hide();
    })
});

bunu nasıl yapabilirim acaba ?

h4ckdr0
684 gün önce

Ve Aleyküm Selam :)

JavaScript ile PHP'nin $_SESSION değişkenine erişemezsiniz. Bunun yerine, JavaScript ile sessionStorage objesi kullanarak, tarayıcının sessionStorage özelliğini kullanabilirsiniz. Örnek olarak, aşağıdaki gibi kullanabilirsiniz:

sessionStorage.setItem('key', data.mail);

Bu kod, tarayıcının sessionStorage özelliğine key anahtarını ve değer olarak data.mail değişkenini atayacaktır. Daha sonra, istediğiniz yerde sessionStorage.getItem('key') şeklinde bu değeri alabilirsiniz.

Bu yöntem ile PHP ile aynı session değerlerine erişebilir, ancak PHP ile değiştirilemez. Eğer PHP ile değiştirmek istiyorsanız, AJAX ile PHP'ye tekrar istek göndermeniz gerekir.

Örneğin:

$.ajax({
  type: "POST",
  url: "<?=$siteURL?>data/islem.php",
  data: {
    'key': data.mail
  },
  success: function(response) {
    // İşlem başarılı
  }
});

Bu AJAX isteği ile data/islem.php dosyasına key değişkenini gönderir, ve PHP tarafında bu değişkeni $_POST['key'] şeklinde alıp, $_SESSION değişkenine atayabilirsiniz.

$_SESSION['key'] = $_POST['key'];

Umarım bu bilgiler yardımcı olmuştur :)