v2.5.2
Giriş yap

Javascript'de Session değiştirme

hakan2004
352 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 !!!" );
}
PHP

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();
    })
});
JavaScript

bunu nasıl yapabilirim acaba ?

h4ckdr0
825 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);
JavaScript

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ı
  }
});
JavaScript

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'];
PHP

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