在php中跨多页表单传递变量

时间:2009-08-14 02:55:34

标签: php forms session

请原谅我,因为我是新手。我有一个多页面表单,我在其中使用$ _SESSIONS来记录变量。

<?php
session_start();
foreach ( $_POST as $key=>$value ) {
    if ( $key!="submit" ) {
        $value= htmlentities(stripslashes(strip_tags($value)));
        $_SESSION[$key] = $value;
    }
}`

实际上我有两个问题。当我到达打印出变量的checkform.php时,即使上面列出的代码在每页上,第1页的变量也不会显示出来。我使用Firefox Web开发人员工具禁用cookie,在php ini中,我将session.use_trans_sid更改为1以将其打开。对于checkform.php上的最后一页,我打印__($ _ POST)最后一页工作正常。为什么第1页的变量没有显示?我错过了什么?

第二个问题是当我print_r($ _ SESSION)时,某些字段,特别是复选框数组,打印为

[payment] => Array
[agerange] => Array
[meals] => Array
[mealtypes] => Array

我错过了什么?

2 个答案:

答案 0 :(得分:0)

在您的表单标记中,您使用“获取”或“发布”方法吗?这是我在第1页看到$ _POST数组为空的唯一原因......

答案 1 :(得分:0)

我不确定你的第一个问题。您可以考虑使用POST标记将信息传递到第二个验证页面。

我可以回答你的第二个问题:它只是打印一个数组,因为你问过它。你需要使用foreach()来回显每个数组。

没有一个愚蠢的问题。