2011-03-22 38 views
-2

我想從我的信息頁面獲取人員信息。 信息頁: $ _COOKIE [oda_sayisi]:房間號PHP - 會話數組看不到?

$

i=0; 
while ($i < $_COOKIE[oda_sayisi]) { 
       $children=$_COOKIE["child_$i"]; 
       $adult=$_COOKIE["adult_$i"]+$children; 
       $sayi=0; 
       while($adult>= $sayi) { 
?> 
<input name="name_<?=$i?>[]" type="text" id="name" /> 
<? 
$sayi++; 
       } 


       $i++; 

       } 
?> 

我的結果頁面的代碼是:

function temizle($theValue, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; 

return $theValue; 
} 
    foreach ($_POST as $degisken=>$veri) { 
     $_SESSION[$degisken]=temizle($veri); 
    } 
    echo $_SESSION[name_0][0].'<br> ---'; 
    echo $_SESSION[name_0][0][0].'<br> ---'; 
    echo $_SESSION[name_0][0][2].'<br>'; 

當我發佈的頁面我得到以下結果:

Array ([0] => muzaffer) MUZAFFER 
---M 
---Z 

它不工作$ _SESSION [name _0] [0]?爲什麼?有人有anyidea?不同的方式?

+1

您應該開始使用英文變量/函數名稱。您還應該在您的PHP代碼中引用字符串 - 即'$ _SESSION ['name_0']''__SESSION [name_0]'。 – ThiefMaster 2011-03-22 11:13:05

+0

@TheifMaster糾正我,如果我錯了,但沒有要求用英文單詞命名您的變量或函數。 – Chris 2011-03-22 11:18:51

+0

'temizle()'做了什麼? – Lekensteyn 2011-03-22 11:21:16

回答

2

試試這個代碼,而不是

<input name="name_<?php echo $i; ?>" type="text" id="name" /> 

切勿使用短,因爲某些服務器沒有啓用它們,我的name屬性也刪除了[]。

的PHP使POST值$_SESSION['name_0']

session_start(); 
$i = 0; 
foreach ($_POST as $key=>$value) { 
     $_SESSION[$key]= $value; 
    } 
    print_r($_POST); 
    echo $_SESSION[name_0].'<br> ---'; 

這是爲我工作。