PHP将序列化数组从表单传递到同一页面

时间:2012-12-29 01:56:28

标签: php

我有以下脚本来更新包含六行文本的文本文件,每行包含日期和内容。我试图允许用户通过HTML表单编辑文本,并且表单将该信息传递回自身以修改文本文件。那部分还没有,但我稍后会处理它。

我的问题是在发布后对数组进行反序列化。任何帮助将不胜感激。

<?php

$fp = fopen(dirname(__FILE__).'/scroller/db.txt','r+');
if (!$fp) {echo 'ERROR: Unable to open file.'; exit;}

if (isset($_REQUEST['serializedArray'])) {
    $serialized = $_REQUEST['serializedArray'];
    $unserialized = unserialize(stripslashes($serialized));
    print_r($unserialized);
    // Future code to modify db.txt file and save it.
}

$index = 0;
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST"><table>';
while (!feof($fp)) {
    $index++;
    $line = fgets($fp, 256); //Length of data per line to grab in db.txt file.
    $field[$index] = explode ('|', $line); // Column 0 = Date, 1 = Content.
    echo '
        <tr>
            <td><input type="text" name="date" size="20" value="'.$field[$index][0].'"></td><td><input type="text" name="content" size="20" value="'.$field[$index][1].'"></td>
        </tr>';
    $fp++;
}
echo '</table>';
$serializedArray = serialize($field);
fclose($fp);
echo "<input type='hidden' name='serializedArray' value='".$serializedArray."'>";
echo '<input type="submit" value="Submit"></form>';
?>

使用带会话的表单会更容易吗?

0 个答案:

没有答案