PHP sessionlarynda massiwleri ýazmak
Öňki sapakda eden kodymyzy gözden geçireliň:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Aslynda, forma maglumatlarynyň hemmesini derrew
$_SESSION-a ýazyp bilerdik:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
test2.php faýlynda bolsa şeýle edip bilerdik:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Bu ýanaşmanyň artykmaçlygy, kodumyzyň formadaky inputlaryň sanyna baglylykly däl işleýändigidir.
Şeýle-de, bir kemçilik bar: $_SESSION-y täzeden
ýazanymyzda, öň onyň içinde bolan ähli maglumatlary
pozýarys. Başga skriptimiz ony nähili ýazypdyr? Emma
biz ony öçürýäris.
Geliň başgaça edeliň:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Görşüňiz ýaly, session üýtgeýjisine ýeke bir baha däl,
eýsem, tutuş bir massiw ýazdyk.
Indi test2.php faýlynda bu massiwiň elementleriniň
jemiňi tapyp bileris:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Bir sahypada, forma kömegi bilen ulanyjydan adyny,
ýaşyny, aýlyk hakyny we ýene bir zatlary sorap alyň.
Bu maglumatlary sessionyň bir üýtgeýjisine massiw
görnüşinde ýazyň. Beýleki sahypa geçende, saklanan
maglumatlary aýlaw bilen gaýtalaň we massiwiň her bir
elementini öz li teginde ul teginiň içinde
çap ediň.