Uzaklıklar aracılığıyla değerlerini geçen PHP oturumları

2 Cevap php

Ben Dosya1 aşağıdaki kod üzerinde çalışıyorum

$_SESSION['manu']="hello";
$_SESSION[0]=$msg;
$_SESSION[1]=$msg1;
for($arr=0;$arr<sizeof($msg2);$arr++)
    $_SESSION[$arr+2]=$msg2[$arr];
$_SESSION[++$arr]=$msg3;
$_SESSION[++$arr]=$file_name;

Dosyasında 2'de

echo sizeof($_SESSION);
for($arr=0;$arr<sizeof($_SESSION);$arr++)
    echo $_SESSION[$arr];
echo $_SESSION['manu'];

Ancak sizeof oturumu dosya2'nin 1 olduğu ortaya çıkar ve ofset formlar depolanan tüm benim oturum değerleri kaybolur?

2 Cevap

$_SESSION dizideki elemanların adları, normal PHP değişkenleri olarak aynı sınırlamalara tabidir: bir sayı ile başlayamaz ve bir harf veya alt çizgi ile başlamalıdır.

So, using numbers as a session element is not allowed. That is why you lose them in the transition.
(If you had error reporting turned on you would have gotten an error notice.)

Yapmak yerine:

$_SESSION[0] = $msg;
$_SESSION[1] = $msg1;

Deneyin:

$_SESSION['msg'][0] = $msg;
$_SESSION['msg'][1] = $msg1;

Eğer session_start() yere dosyasının üstüne koyduk? Durumda eklemek biri yoktur.