0

ページ1

$formData = array();
$formData[0] = 'insert data done';
$_SESSION['form_data'] = $formData;
header('Location: view.php');

ページ2

if (isset($_SESSION['form_data'][0])) {
echo $_SESSION['form_data'][0];
unset($_SESSION['form_data']);
}

ページ 1 のコードでは、ヘッダーをコメント アウトして、

var_dump($_SESSION['form_data'][0]);

私が望んでいたように

"string(16) "insert data done"" 

これは正しいですが、ページ2に

var_dump($_SESSION['form_data'][0]);

出力は

文字列(1)「私」

私が間違ったこと。ページ2では、値をエコーし​​て設定を解除したいだけですが、使用しようとしました

var_dump($_SESSION['form_data']);

出力は正しかった

多分私の不安な方法は間違っているかもしれません。

4

1 に答える 1

1

試しましたecho $_SESSION['form_data']か?文字列の最初の文字を取得しているようです。

$_SESSION 変数に key => value のペアが 1 つだけ設定されている場合、自動的にその値に縮小されると思います。しかし、私はオンラインで参考文献を見つけることができません。

ページ 1 でこのコードを使用してみてください。

$formData['someKey'] = 'insert data done';

そしてこれは2ページ目に:

echo $_SESSION['form_data']['someKey'];

しばらく様子を見てみましょう...

于 2012-09-22T09:01:08.243 に答える