1

$_POSTorに何も設定されていない場合、最初のエントリを取得しようとしてい$_SESSIONますが、以下を使用して出力すると、die(print_r($nmcu));常に 1 しか取得されません。「エントリ 1」と「出口 2」の末尾に数字を追加すると、動作するようですが、理由はわかりませんが、名前に数字を入れたくありません...

<?php
session_start();
$entry = array(
"entry" => array("user" => "username",
        "pass" => "password",
        "host" => "localhost",
        "port" => 1111,
        "protocol" => "http"),

"exit" => array("user" => "username",
        "pass" =>   "password",
        "host" =>   "localhost",
        "port" =>   1111,
        "protocol" => "http"));


if (isset($_POST['currentEntry'])) {
    $_SESSION['currentEntry'] = $_POST['currentEntry'];
}
if (isset($_SESSION['currentEntry'])) {
    $currentEntry = $_SESSION['currentEntry'];
} else {
    $keys = array_keys($entry);
    $currentEntry = $keys[0];
    $_SESSION['currentEntry'] = $currentEntry;
}
$nmcu = $entry[$currentEntry];
?>
4

1 に答える 1

1

セッションをクリーンアップします (または で確認してくださいvar_dump($_SESSION)。無効なキーがあると確信しているため、何も出力せず、 die()`print_r()を返します。, which is then outputed by

また、そのようなテストvar_dump()には代わりに使用することをお勧めします。print_r()

于 2013-05-22T11:20:31.507 に答える