-
Üyelik
30.01.2017
-
Yaş/Cinsiyet
35 / E
-
Meslek
Danışman
-
Konum
İstanbul Avrupa
-
Ad Soyad
H** K**
-
Mesajlar
729
-
Beğeniler
204 / 203
-
Ticaret
10, (%90)
Merhaba, takıldığım bir nokta da bilgi almak istiyorum.
Mail adresi ve şifreyle giriş yapan kullanıcılara ait hesabım sayfası var ve bu sayfa da üye adı soyadı mail adresi gibi bilgilerini güncelleyebiliyor.
Güncelleme kısmında hiç bir sorun yok yeni değerler veritabanına da kaydediliyor. Fakat güncellenen değerler o an ki session oturumunda görünmüyor. Çıkış yaparak tekrar giriş yaparsa kullanıcı yaptığı değişiklikler o zaman görünüyor.
Kullanıcı çıkış yapmadan profilinde ki bu alanları veya herhangi bir alanı düzenleyip kaydettiğinde görüntüleyebilmesi için ne yapmam gerekiyor ?
if($_GET['uyelik'] == 'uye_guncelle'){
if($_POST){
if(isset($_POST['uye_id']) and isset($_POST['uye_adi']) and isset($_POST['uye_soyadi']) and isset($_POST['uye_kadi'])) {
$uye_id = mysqli_real_escape_string($db,$_POST['uye_id']);
$uye_adi = mysqli_real_escape_string($db,$_POST['uye_adi']);
$uye_soyadi = mysqli_real_escape_string($db,$_POST['uye_soyadi']);
$uye_kadi = mysqli_real_escape_string($db,$_POST['uye_kadi']);
$bilgi_query = "UPDATE uye SET `uye_adi` = '$uye_adi', `uye_soyadi` = '$uye_soyadi', `uye_kadi` = '$uye_kadi' WHERE `uye`.`uye_id` = '$uye_id'";
$uye_guncelle = mysqli_query($db,$bilgi_query);
if($uye_guncelle){
$_SESSION["uye"] = mysqli_fetch_array($uye_guncelle);
$return = array('uye_guncelle'=>1);
echo json_encode($return, true);
}
else{
$return = array('uye_guncelle'=>2);
echo json_encode($return, true);
}
}
}
}
Mesaj 2 defa düzenlendi. Son düzenleyen: netman (30.01.2022 20:08)
// Acta est fabula
-
Üyelik
09.09.2018
-
Yaş/Cinsiyet
26 / E
-
Meslek
Web Programlama Uzmanı
-
Konum
Van
-
Ad Soyad
O** K**
-
Mesajlar
145
-
Beğeniler
44 / 20
-
Ticaret
0, (%0)
üyeye ait hangi bilgileri session da tutuyorsunki gözükmüyor ?
Web Programlama Uzmanı | ( PHP, Bootstrap, MySQL ) Yazılım İşleri Yapılır | WhatsApp Tıkla
-
Üyelik
30.01.2017
-
Yaş/Cinsiyet
35 / E
-
Meslek
Danışman
-
Konum
İstanbul Avrupa
-
Ad Soyad
H** K**
-
Mesajlar
729
-
Beğeniler
204 / 203
-
Ticaret
10, (%90)
Şu kısımda üye tablosundan gelen verileri alıyorum.
$_SESSION["uye"] = mysqli_fetch_array($uye_guncelle);
Çekerken de bu şekilde çekiyorum hocam?
$_SESSION["uye"]["uye_id"];
// Acta est fabula
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
mysqli uzun zamandır kullanmıyorum ama içeriğinde update olan query yi session a atıyorsunuz direkt. Öncelikle içeriğinde ne olduğunu bir kontrol edin bakalım ne çıktı veriyor.
if($uye_guncelle){
print_r(mysqli_fetch_array($uye_guncelle));
exit();
$_SESSION["uye"] = mysqli_fetch_array($uye_guncelle);
-
Üyelik
22.09.2020
-
Yaş/Cinsiyet
21 / E
-
Meslek
Öğrenci
-
Konum
Bursa
-
Ad Soyad
Ö** D**
-
Mesajlar
73
-
Beğeniler
9 / 9
-
Ticaret
1, (%100)
unset ile sıfırlayın sonra tekrardan başlatın hocam sessionu birde güvenlik açıkları için tedbir almalısınız.
VipTema
Vip Tema Web Tasarım
Kullanıcı
-
Üyelik
29.06.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Vip Tema Web Tasarım A.Ş.
-
Konum
Tekirdağ
-
Ad Soyad
Ö** I**
-
Mesajlar
1393
-
Beğeniler
704 / 703
-
Ticaret
21, (%100)
Aslında sessionda üye id'si dışında kullanıcı adına bilgi tutmanıza gerek yok. Kodlarınızın session kurgusunda bir mantık hatası var. Şöyle ki üyeyi ne kadar güncellerseniz güncelleyin değişmeyecek olaan tek bilgi veri tabanındaki benzersiz id'sidir. Dolayısıyla sessionda sadece id tutmanız yeterli olur. Ekrana bastığın diğer bilgileri minnak bir select sorgusu ile id şuna eşitse bilgilerini bas diyebilirsin böylelikle sen ne bilgisini değişirsen değiş, id değişmediği için ve geri kalan bilgileri direk hep vtden çekeceği için anlık bir değişim olur. Umarım anlatabilmişimdir. :)
1 kişi bu mesajı beğendi.