2017-02-26 4 views
1

動的なコンテンツ情報のケースとスイッチを使用するPHPスクリプトを作成しました。すべて動作しますが、デフォルトのページを表示することができません。私はすべてのstackoverflowとGoogleを検索して、スイッチの私のデフォルトがなぜ読み込まれないのかを知ることができない。私はinclude( 'page.php')のような他のメソッドを試しました。PHPのスイッチでデフォルトのケースが表示されない

あなたの場合、条件にあっ書く
<center><div class="dropdown"> 
    <button class="dropbtn">TICKERS</button> 
    <div class="dropdown-content"> 
    <a href="?page=crz">CRZ</a> 
    <a href="?page=fft">FFT</a> 
    <a href="?page=ghg">GHG</a> 
    <a href="?page=glh">GLH</a> 
    <a href="?page=ian">IAN</a> 
    <a href="?page=IMH">IMH</a> 
    <a href="?page=in">IN</a> 
    <a href="?page=lag">LAG</a> 
    <a href="?page=lib">LIB</a> 
    <a href="?page=lxx">LXX</a> 
    <a href="?page=mdm">MDM</a> 
    <a href="?page=mj">MJ</a> 
    <a href="?page=mmj">MMJ</a> 
    <a href="?page=nf">NF</a> 
    <a href="?page=puf">PUF</a> 
    <a href="?page=SL">SL</a> 
    <a href="?page=sun">SUN</a> 
    <a href="?page=tbp">TBP</a> 
    <a href="?page=thc">THC</a> 
    <a href="?page=tny">TNY</a> 
    <a href="?page=vgw">VGW</a> 
    <a href="?page=vp">VP</a> 
    <a href="?page=vrt">VRT</a> 
    </div> 
</div></center> 

<BR> 

<?php 
     if(isset($_GET['page']) && $_GET['page']!=""){ 
      $page = ""; 
      switch ($_GET['page']) { 
       case 'crz': 
        $page = "crz.php"; 
        break; 

       case 'fft': 
        $page = "fft.php"; 
        break; 

       case 'ghg': 
        $page = "ghg.php"; 
        break; 

       case 'glh': 
        $page = "glh.php"; 
        break; 

       case 'ian': 
        $page = "ian.php"; 
        break; 

       case 'in': 
        $page = "in.php"; 
        break; 

       case 'lag': 
        $page = "lag.php"; 
        break; 

       case 'lib': 
        $page = "lib.php"; 
        break; 

       case 'lxx': 
        $page = "lxx.php"; 
        break; 

       case 'mdm': 
        $page = "mdm.php"; 
        break; 

       case 'mj': 
        $page = "mj.php"; 
        break; 

       case 'mmj': 
        $page = "mmj.php"; 
        break;      

       case 'nf': 
        $page = "nf.php"; 
        break; 

       case 'puf': 
        $page = "puf.php"; 
        break; 

       case 'sl': 
        $page = "sl.php"; 
        break; 

       case 'sun': 
        $page = "sun.php"; 
        break; 

       case 'tbp': 
        $page = "tbp.php"; 
        break; 

       case 'thc': 
        $page = "thc.php"; 
        break; 

       case 'tny': 
        $page = "tny.php"; 
        break; 

       case 'vgw': 
        $page = "vgw.php"; 
        break; 

       case 'vp': 
        $page = "vp.php"; 
        break; 

       case 'vrt': 
        $page = "vrt.php"; 
        break; 

       default: 
        $page = "csegainers.php"; 
        break; 


      } 

      include($page); 
     } 
    ?> 
+0

代わりにスイッチの配列を使用しないのはなぜ?なぜあなたは自分を傷つけていますか? – Mikey

+0

配列が何であるかわからない。その簡単なスクリプトのためだけに、私は最も簡単だったものをやった!どこのPHPの配列は、メニュー付きの動的コンテンツで使用されます –

答えて

3

if(isset($_GET['page']) && $_GET['page']!="") 

だから意味:何も入力されない場合は、すべてでswitch文を経由しません。

ここにelse-branchを追加するか、if-clauseを削除してください。

+0

isset($ _ GET ['page'])&& $ _GET ['page']!= "" そうですか? –

+0

if文(および一致する中括弧)を含む行全体を削除してください。あなたのページは動作します – Psi

0

最初のifは空白$ _GET ['page']を渡しません。手動で別の値にアクセスする場合、 "document.php?page = example"と言うと、デフォルトの場合は正常に起動します。

+0

デフォルトでは、csegainers.phpを表示するにはindex.phpが必要です。 –

+0

if(isset($ _ GET ['page'])&& $ _GET ['page']!= "") この部分を削除してください: && $ _GET ['page']!= "" これは、デフォルトの大文字と小文字を区別した値でアクセスできるようにします。 –

1

これは、あなたの質問の答えではないですが、改善されています

$allowed = array('fft','ghg','glh','ian','imh', 
       'in','lag','lib','lxx','mdm','mj', 
       'mmj','nf','puf','sl','sun','tbp', 
       'thc','tny','vgw','vp','vrt','crz' , //... 
       ); 

$page = 'csegainers'; 

if(isset($_GET['page']) && in_array($_GET['page'],$allowed)){ 
    $page = $_GET['page']; 
} 

include($page . '.php'); 
関連する問題