1

我正在尝试将 的值"rand".$i和 的值存储"fontr".$i在会话或其他内容中,以便我可以在下一页中访问它们,并且我需要使用fontr1, fontr2 ...rand1, rand2 ...作为名称来访问它们。

<?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; 

但我不知道如何存储我可以单独访问的 for 循环中的值。

希望你能理解我。你能帮我么?

4

2 回答 2

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;

我也希望你能理解我:)

于 2012-10-31T08:27:12.860 回答
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/>";   
}

检索值的方式与输入和选择的 for 循环相同。还有一件事,您必须超过 $rand 值,以便用于检索数据的 for 循环将循环直到您拥有的最后一个数据。

只需尝试运行此代码即可查看结果。

于 2012-10-31T08:28:30.950 回答