PHP Oturumlarına Dizi Yazma
Önceki derste yaptığımız kodu inceleyelim:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Aslında formun tüm verilerini doğrudan
$_SESSION içine yazabilirdik:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
Ve test2.php dosyasında şu şekilde yapabilirdik:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Bu yaklaşımın avantajı, kodumuzun formdaki input sayısından bağımsız olarak çalışmasıdır.
Ancak bir dezavantajı var: $_SESSION'ı
yeniden yazarken, daha önce orada bulunan tüm
verileri siliyoruz. Başka bir betiğimiz oraya
ne yazmış olabilir? Ve biz onu siliyoruz.
Haydi farklı bir yol izleyelim:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Gördüğünüz gibi, oturum değişkenine tek bir
değer değil, bir dizi yazdık.
Şimdi test2.php dosyasında bu dizinin
elemanlarının toplamını bulabiliriz:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Bir sayfada, bir form kullanarak kullanıcıdan
adını, yaşını, maaşını ve başka bir şey daha sorun.
Bu verileri, bir dizi şeklinde tek bir oturum değişkenine kaydedin.
Başka bir sayfaya giriş yapıldığında, kaydedilmiş verileri
bir döngü ile gezin ve her dizi elemanını kendi
li etiketinde, ul etiketinin içinde görüntüleyin.