2012-10-31 33 views
1

我試圖在會話或其他東西中存儲"rand".$i的值和"fontr".$i的值,因此我可以在下一頁訪問它們,並且需要使用fontr1, fontr2 ...rand1, rand2 ...作爲名稱訪問它們。如何在php中將for循環的值存儲到會話中,以便我可以單獨訪問它們?

<?php 
for($i=1;$i<=$rand;$i++) 
{ ?> 

<input type=text name=rand<?=$i?> value=" <?php $var1="rand".$i; if(isset($_POST[$var1])) {echo $_POST[$var1]; } else {echo "Rand".$i;} ?> " size=15><BR> 

<select name="fontr<?=$i?>"> 
<?php $var3="fontr".$i; ?> 
<option value='Fonts/arial.ttf' <?php if(isset($_POST[$var3]) && $_POST[$var3]=='Fonts/arial.ttf') echo 'selected="selected"'?> >Arial</option> 
<option value='Fonts/comic.ttf' <?php if(isset($_POST[$var3]) && $_POST[$var3]=='Fonts/comic.ttf') echo 'selected="selected"'?> >Comic Sans</option> 
</select> 

<?php } ?> 

我知道如何在會話中存儲的值這樣

<?php 
if(isset($_POST['culoaresup'])) 
$_SESSION['culoaresup'] = $_POST['culoaresup']; ?> 


if(isset($_POST['Vizualizeaza'])) 
$_SESSION['rand'] = $rand; 

但我不知道如何將值從一個存儲循環,我可以單獨訪問。

希望你能理解我。 你能幫我嗎?

回答

0

試試這個: -

for($i=1;$i<=$rand;$i++) 
{ 
    $_SESSION['rand'.$i] = $_POST['rand'.$i]; 
    $_SESSION['fontr'.$i] = $_POST['fontr'.$i]; 

    echo $_SESSION['rand'.$i]." ".$_SESSION['fontr'.$i]."<br/>"; 
} 

的方式將檢索值是循環同樣喜歡您的輸入和選擇。 還有一件事,您必須通過$ rand值,以便檢索數據的for循環將循環直到您擁有的最後一個數據。

剛剛嘗試運行這段代碼看到的結果。

+0

肯定的,但在未來的頁面我可以做這樣的:對於($ i = 1; $ I <= $蘭特; $ I ++) { $ _POST [ '蘭特' $ I] = $ _ SESSION [」 rand'。$ i]; $ _POST ['fontr'。$ i] = $ _ SESSION ['fontr'。$ i]; 回聲$ _POST 「 」$ _ POST [ 'fontr' $ I。]。「
」[ '蘭特' $ I。]。 }? –

+0

當然可以,但你的代碼必須窗體標記內<形式方法=「郵報」行動=「result.php」> ... – errorare

+0

爲什麼你會指定會話變量變量後在接下來的頁面?你應該簡單地使用會話變量本身。看看我的答案,看看它是否簡單明白 –

0
<?php 
    session_start(); 

    for($i = 0;$i < $rand; $i++) { 
?> 
    <input type="text" name="rand[]" value="<?php 
     if(isset($_SESSION[$i][0])) { 
      echo $_SESSION[$i][0]; 
     } else { 
      echo "Rand" . ($i + 1); 
     } ?> " size="15"><BR> 

    <select name="fontr[]"> 
     <option value="Fonts/arial.ttf" <?php 
       if(isset($_SESSION[$i][1]) && $_SESSION[$i][1]=='Fonts/arial.ttf') 
       echo 'selected="selected"'; ?> >Arial</option> 
     <option value="Fonts/comic.ttf" <?php 
       if(isset($_SESSION[$i][1]) && $_SESSION[$i][1]=='Fonts/comic.ttf') 
       echo 'selected="selected"'; ?> >Comic Sans</option> 
    </select> 

<?php 
    } 
?> 

後提交表單,你可以有:

<?php 
    session_start(); 

    for($i = 0; $i < count($_POST['rand']); $i++) { 
     $_SESSION[$i][0] = $_POST['rand'][$i]; // store the rand 
     $_SESSION[$i][1] = $_POST['fontr'][$i]; // store the fontr 
    } 
?> 

您也可以單獨定義它像

$_SESSION['rand' . $i] = $_POST['rand'][$i] 

然後你可以把它與$_SESSION['rand0'],或者你可以簡單地創建像

${'rand' . $i} = $_POST['rand'][$i]; 
echo $rand0; 
一個新的變量

我也希望你能理解我:)

+0

Ma bucur ca pot ajuta o conationala .. esti o raritate pe-aici :)) –

+0

Am inteles ce faci,dar eu am incercat sa fac ceva ca primul raspuns,doar ca imi adaug caate un isset ca sa verific daca e introdusa sau nu valoarea。 Ideea e ca nu合併在pagina urmatoare。 Adica nu mi mers。 o incerc acum cu raspunsul tau –

+0

Trebuie sa pui'session_start()'la inceputul fiecarei pagini unde folosesti sesiuni。 –

相關問題