0

私はしばらく HTML を使用してきましたが、PHP を使い始めたばかりで、PHP の include 関数を使用するメニューを備えた単純なページを作成しました。メニューは機能しますが、メニュー ボタンの 1 つがクリックされたときに置き換えられる元のインクルード ファイルを設定する方法を考えていました。これが私のコードです:

<html>
<head>
    <title>
        Test
    </title>
</head>
<body> 
    <?php 
        include 'header.php';
    ?>
    <form action="" method="post">
        <input type="submit" name="Home" value="Home" />
        <input type="submit" name="AboutUs" value="About Us" />
        <input type="submit" name="Games" value="Games" />
        <input type="submit" name="Pages" value="Pages" />
    </form>
    <?php
        if (isset($_POST['Home']))
        {
            include 'home.php';
        };
        if (isset($_POST['AboutUs']))
        {
            include 'au.php';
        };
        if (isset($_POST['Games']))
        {
            include 'games.php';
        };
        if (isset($_POST['Pages']))
        {
            include 'pages.php';
        };
    ?>
</body>
</html>

ページが最初にロードされたときに home.php を含め、メニューボタンの1つが押されたときにそれを置き換えたいと思います。PHPでこれを行うにはどうすればよいですか?それとももっと良い方法がありますか?

4

3 に答える 3

6

これはあなたにとってきれいな解決策かもしれません:

<form action="" method="post">
    <input type="submit" name="page" value="Home" />
    <input type="submit" name="page" value="About Us" />
    <input type="submit" name="page" value="Games" />
    <input type="submit" name="page" value="Pages" />
</form>
<?php
    switch($_POST["page"]){
        case "About Us":
            include 'au.php';
            break;
        case "Games":
            include 'games.php';
            break;
        case "Pages":
            include 'pages.php';
            break;
        default:
            include 'home.php';
            break;
    }
于 2013-05-16T18:17:56.117 に答える
0

選択できるオプションがあるように...

<html>
 <head>
  <title>
    Test
  </title>
 </head>
 <body> 
  <?php 
    include 'header.php';
  ?>
 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="menuForm">
      <input type="submit" name="submit" value="Home" />
      <input type="submit" name="submit" value="About Us" />
      <input type="submit" name="submit" value="Games" />
      <input type="submit" name="submit" value="Pages" />
     </form>
  <?php
    switch ($_POST["submit"]) {
        case 'Home': {
            include 'home.php';
                            break;
        }
        case 'About Us': {
            include 'au.php';
                            break;
        }
        case 'Games': {
            include 'games.php';
                             break;
        }
        case 'Pages': {
            include 'pages.php';
                            break;
        }
        default: {
            include 'home.php';
                            break;
        }
    }
      ?>
 </body>
</html>

お役に立てれば。

于 2013-05-16T18:39:58.360 に答える
0

したがって、これはチェックし、$_POST設定されていない場合はhome.phpをロードし、設定されている場合は続行します

    if (!isset($_POST)){ // if post is not set, show home.php
           include 'home.php';
        }else if (isset($_POST['AboutUs'])){
            include 'au.php';
        }else if (isset($_POST['Games'])){
            include 'games.php';
        } // and you can keep going like that
于 2013-05-16T18:11:39.313 に答える