1

index.phpにこれをエコーするたびにエラーが発生しました

以下は私のスイッチコードです。私はphp動的サイトを使用しているため、異なるphpが呼び出されるたびにスイッチを使用してデータを変更します。

<?php
function title_switch()
{
    $var = (isset($_GET['page']) && !empty($_GET['page'])) ? $_GET['page'] : 'home';
    switch ($var) {
        case 'home':
            $a['title']   = " &#187; Home";
            $a['meta_d']  = "This page is about my site!";
            $a['meta_k']  = "something, somethingelse";
            $a['slider1'] = "<script type=\"text/javascript\" src=\"./js/jquery.easing.1.3.js\"></script>\n";
            $a['slider2'] = "<script type=\"text/javascript\" src=\"./js/tms-0.3.js\"></script>\n";
            $a['slider3'] = "<script type=\"text/javascript\" src=\"./js/tms_presets.js\"></script>\n";
            $a['main']    = "<script type=\"text/javascript\" src=\"./js/script.js\"></script>\n";
            $a['pageid']  = "page1";
            $a['slider']  = "slide";
            break;
        case 'company':
            $a['title']  = " &#187; Company";
            $a['meta_d'] = "This page is about my site!";
            $a['meta_k'] = "something, somethingelse";
            $a['all']    = "<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n";
            $a['pageid'] = "page2";
            $a['slider'] = "banner";
            break;
        default:
            $a['title']  = " &#187; HTTP 404 - Page Not Found";
            $a['meta_d'] = "";
            $a['meta_k'] = "";
            break;
    }
    return $a;
}
$details = title_switch();
?>  

これは21行目の私のindex.phpです

<?php echo $details['all']; ?>

home.phpを呼び出すと、以下のエラーが表示されます

注意:未定義のインデックス:21行目のC:\ wamp \ www \ site\index.phpのすべてのコールスタック

時間メモリ機能の場所

1 0.0035 258968 {main}().. \ index.php:0

company.phpを呼び出すと、エラーは表示されません...

どこが間違っていたのかわかりますか?ここでちょっと混乱します...

例:www.example.com/companyに電話するとエラーは表示されませんでしたが、www.example.comに電話するとエラーが表示されます。

このコードが欲しかった

<?php echo $details['all']; ?>

www.example.com/companyの場合にのみ表示され、www.example.comが呼び出されている場合は表示されません。

内部のコード:

<?php echo $details['all']; ?>

case 'company':
        $a['title']  = " &#187; Company";
        $a['all']    = "<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n";

これにより、エラーの解決に役立つすべての人にとって、より明確な画像が得られることを願っています。ありがとうございました。

4

2 に答える 2

5

$a['all']switch($var)がに等しい場合にのみ設定され'company'ます。すべての場合に設定する必要があります。

スイッチ内$a['all']で空の値に設定できるため、PHPは少なくともインデックスを見つけることができます。簡単な例:

switch ($var) {
    case 'home':
        $a['all'] = '';
    case 'company':
        $a['all'] = '<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n';
    default:
        $a['all'] = '';
}
于 2013-02-24T04:34:23.287 に答える
0

あなたが何をしようとしているのかは明らかではありません。ただし、関数が空であっても $a['all'] を定義してください。そのため、設定され、警告は出されません。$a['all'] = ''; 行を追加します。デフォルト設定で:

于 2013-02-24T08:59:19.183 に答える