-
Üyelik
17.08.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
öğrenci
-
Konum
Diğer
-
Ad Soyad
O** O**
-
Mesajlar
44
-
Beğeniler
11 / 5
-
Ticaret
0, (%0)
tek .php sayfasıyla çalışıyorum.
Sorunun özeti form post edilirken session a atadığım değer sayfa yenilendikten sonra değer atatığım yerin üstünde boş değer dönüyor altında ise istediğim değer dönüyor yardımcı olabilecek olan var mı?
session_start();
echo "1. SESSION: ".$_SESSION['ad'];
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$_SESSION['ad']=$_POST['ad'];
}
echo "2. SESSION: ".$_SESSION['ad'];
?>
echo "3. sessıon: ".$_SESSION['ad'];
?>
-
Üyelik
27.08.2016
-
Yaş/Cinsiyet
29 / E
-
Meslek
Computer Teacher
-
Konum
İstanbul Anadolu
-
Ad Soyad
B** K**
-
Mesajlar
115
-
Beğeniler
30 / 35
-
Ticaret
0, (%0)
Kodları ekleyebilirseniz daha rahat yardımcı oluruz
-
Üyelik
17.08.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
öğrenci
-
Konum
Diğer
-
Ad Soyad
O** O**
-
Mesajlar
44
-
Beğeniler
11 / 5
-
Ticaret
0, (%0)
session_start();
echo "1. SESSION: ".$_SESSION['ad'];
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$_SESSION['ad']=$_POST['ad'];
}
echo "2. SESSION: ".$_SESSION['ad'];
?>
echo "3. sessıon: ".$_SESSION['ad'];
?>
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
Olayın şu olması lazım, bildiğiniz gibi php kodları yukarıdan aşağıya sırayla çalışır. Önce daha önceden post işlemi olmadan submit ederseniz php bakıyor bu sessionun içi boş, sonra bakıyor post gelmiş sessionu atıyor sonra altta atanan session yazılıyor.
Daha önceden submit işlemi olduysa yine aynı şekilde en üstte önce bir önceki submit işleminden kalan session değerini yazıyor, sonra bakıyor post gelmiş onun içinde de session yeni değerini atayıp aşağıya da yeni değerini yazıyor.
Bu şekilde deneyin session_start();
if(!isset($_SESSION['ad'])){
echo "1. SESSION: Henüz bu değerin içi boş
";
} else
echo "1. SESSION (bir önceki değeri): ".$_SESSION['ad'].'
';
if ($_POST)
{
$_SESSION['ad']=$_POST['ad'];
echo "2. SESSION: ".$_SESSION['ad'].' olarak atandı.';
}
?>
echo "3. sessıon: ".@$_SESSION['ad'];
?>
-
Üyelik
17.08.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
öğrenci
-
Konum
Diğer
-
Ad Soyad
O** O**
-
Mesajlar
44
-
Beğeniler
11 / 5
-
Ticaret
0, (%0)
session a 1 kere değer atandımı browser ı kapata kadar o değer saklanır mantıgi budur. Web programlamaya yeni başladım bi yöntem üzerine yoğunlaştım normalde çoğu sitede her linke tıklandığında sayfa yönlendirme yapıyor sunucu için olumsuz bi durum . Bu yüzden bende js kullanıcıda çalışır php sunucuda js ile sayfa yönlendirmesini display none block ile ayarlayıp şu şu sayfaya git diyorum tek php sayfasinda . Session yöntemini denedim olmadı önümde 2 yol var 1. Yol formu kaldirip butona basildimi veriyi işle. 2. Yol formun post kismini sayfanin en ustune almak .
Amaç sayfa yenilenmesini engelleyip sunucuyu minimum seviyede yorma .