2015-06-15 2 views
0

Сначала извините за мой английский.Сессия сохранения сеанса PHP с значениями POST

У меня возникла странная проблема с использованием объекта php $ _SESSION. Я потратил 2 дня, не найдя решение. Я собираюсь сохранить многомерный массив, в котором хранятся некоторые значения post. Я создаю массив с этими значениями, а затем создаю многомерный массив, содержащий эти массивы.

Page 1 (setvalues ​​in multi array ans save in session) -> GET -> Page 2 прочитайте сеанс.

Мой код Page 1:

Во-первых, сохранить пост значения в свойства объекта и их проверки.

public function validateData(){ 

     $this->nombres=$_POST["nombre"]; 
     $this->imp_nombres=$_POST["imp_nombre"]; 
     $this->numeros=$_POST["numero"]; 
     $this->imp_numeros=$_POST["imp_numero"]; 
     $this->tallas=$_POST["talla"]; 
     $this->cantidades=$_POST["cantidad"]; 
     $this->productos=$_POST["products"]; 
     $this->equipos=$_POST["equipo"]; 


     if(WSI_Funtions::compareSizes($this->nombres,$this->imp_nombres,$this->numeros,$this->imp_numeros,$this->tallas,$this->cantidades,$this->productos,$this->equipos)) 
     { 
      $this->isValidModel=true; 
      $this->saveProductsValues(); 

     } 
     else{ 
      $this->isValidModel=false; 
      $this->errorMessage="Los datos no son correctos. Los parametros no coinciden"; 
     } 

} 

Если данные в порядке, я сохранить эти значения:

public function saveProductsValues() 
{ 


    $this->productsValues=array(); 
    $this->productsValues["names"]=$this->nombres; 
    $this->productsValues["imp_nombres"]=$this->imp_nombres; 
    $this->productsValues["numeros"]=$this->numeros; 
    $this->productsValues["imp_numeros"]=$this->imp_numeros; 
    $this->productsValues["tallas"]=$this->tallas; 
    $this->productsValues["cantidades"]=$this->cantidades; 
    $this->productsValues["productos"]=$this->productos; 
    $this->productsValues["equipos"]=$this->equipos; 


} 

Затем я сохранить его в сессии:

public function saveSessionValues() 
{ 
    $_SESSION['customer'] = $this->customerObject; 
    $_SESSION['productsValues'] =$this->productsValues; 
    echo var_dump($_SESSION['productsValues']); 
} 

В saveSessionValues эхо-печать это:

array(8) { ["names"]=> array(12) { [0]=> string(0) "" [1]=> string(12) "ÁNGEL HDEZ." [2]=> string(11) "VUJASINOVIC" [3]=> string(4) "ABIA" [4]=> string(10) "MUTAKABBIR" [5]=> string(8) "PETROVIC" [6]=> string(5) "DOBOS" [7]=> string(4) "HOMS" [8]=> string(6) "CASTRO" [9]=> string(0) "" [10]=> string(0) "" [11]=> string(0) "" } ["imp_nombres"]=> array(12) { [0]=> string(0) "" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" [8]=> string(1) "1" [9]=> string(0) "" [10]=> string(0) "" [11]=> string(0) "" } ["numeros"]=> array(12) { [0]=> string(1) "7" [1]=> string(1) "8" [2]=> string(1) "9" [3]=> string(0) "" [4]=> string(2) "11" [5]=> string(2) "12" [6]=> string(2) "18" [7]=> string(2) "19" [8]=> string(2) "22" [9]=> string(1) "5" [10]=> string(2) "33" [11]=> string(0) "" } ["imp_numeros"]=> array(12) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(0) "" [4]=> string(1) "1" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" [8]=> string(1) "1" [9]=> string(1) "1" [10]=> string(1) "1" [11]=> string(0) "" } ["tallas"]=> array(12) { [0]=> string(4) "XXXL" [1]=> string(3) "XXL" [2]=> string(2) "XL" [3]=> string(3) "XXL" [4]=> string(3) "XXL" [5]=> string(3) "XXL" [6]=> string(4) "XXXL" [7]=> string(3) "XXL" [8]=> string(2) "XL" [9]=> string(4) "XXXL" [10]=> string(2) "XL" [11]=> string(3) "XXL" } ["cantidades"]=> array(12) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(3) "145" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" [8]=> string(1) "1" [9]=> string(1) "1" [10]=> string(1) "1" [11]=> string(1) "1" } ["productos"]=> array(12) { [0]=> string(3) "109" [1]=> string(3) "109" [2]=> string(3) "109" [3]=> string(3) "109" [4]=> string(3) "109" [5]=> string(3) "109" [6]=> string(3) "109" [7]=> string(3) "109" [8]=> string(3) "109" [9]=> string(3) "109" [10]=> string(3) "109" [11]=> string(3) "109" } ["equipos"]=> array(12) { [0]=> string(7) "LEB ORO" [1]=> string(7) "LEB ORO" [2]=> string(7) "LEB ORO" [3]=> string(7) "LEB ORO" [4]=> string(7) "LEB ORO" [5]=> string(7) "LEB ORO" [6]=> string(12) "ES TALLA 4XL" [7]=> string(7) "LEB ORO" [8]=> string(7) "LEB ORO" [9]=> string(12) "ES TALLA 4XL" [10]=> string(7) "LEB ORO" [11]=> string(7) "LEB ORO" } } 

Мой код Страница 2 (php tags пропущено):

if (!isset($_SESSION)) { session_start(); } 
echo var_dump($_SESSION['productsValues']); 

Этого эхо печать следующее значение:

array(8) { ["names"]=> NULL ["imp_nombres"]=> NULL ["numeros"]=> NULL ["imp_numeros"]=> NULL ["tallas"]=> NULL ["cantidades"]=> NULL ["productos"]=> NULL ["equipos"]=> NULL } 

массив первого уровня существует, потому что подмассивы ключи печатаются, но все вторые массивы уровня являются NULL ..

Может быть, для использования значение $ _POST ?? Я попытался кодировать значения объекта $ _POST, сохраняя только строку json вместо сохранения объекта с тем же результатом, первые узлы в JSON являются ключами массивов, но значения «NULL»

Любая помощь пожалуйста ?? Спасибо!

+0

Возможно, вам нужно вернуть массив из saveProductsValues ​​() – valeriocomo

ответ

2

Вы закончили запись значений. Попробуйте с -

$_SESSION['productsValues'][] = $this->productsValues; 
+0

Great !!!!!!!!! Спасибо !!!!!!! – user5010373

+0

Добро пожаловать .... :). –

Смежные вопросы