【问题标题】:Include php files inside tab在选项卡中包含 php 文件
【发布时间】:2014-03-16 14:35:32
【问题描述】:

我有一个创建标签的 php 文件 tab.php。tab.php 的代码是:

<ul id="tabs">

<?php
$tab=' ';
if($tab=='') $tab='setup';

//$tab=$_REQUEST['tab'];


         if($tab=='setup'){ ?>
        <li><b><span>Setup</span></b></li>
        <?php 
        }else{ ?>
        <li><a href="?tab=setup"><span>Setup</span></a></li>
        <?php } ?>

        <?php if($tab=='options'){ ?>
        <li><b><span>Options</span></b></li>
        <?php }else{ ?>
        <li><a href="?tab=options"><span>Options</span></a></li>
        <?php } ?>

        <?php if($tab=='questions'){ ?>
        <li><b><span>Questions</span></b></li>
        <?php }else{ ?>
        <li><a href="?tab=questions"><span>Questions</span></a></li>
        <?php } ?>

        <?php if($tab=='flow'){ ?>
        <li><b><span>Flow</span></b></li>
        <?php }else{ ?>
        <li><a href="?tab=flow"><span>Flow</span></a></li>
        <?php } ?>



   </ul>


<div style="clear:both; background-color:#edcb27; height:0px; overflow:hidden;"></div>    
<div style="border:solid 3px #edcb27; background-color:#edcb27; padding:10px; font-family:Verdana, Geneva, sans-serif; font-size:11px;">
<label>Edit Mode</label>
<label>dfhfghj</label> 

我有四个 php 文件,即 setup.php、options.php、question.php 和 test.php。我想要的是当我点击设置选项卡时 setup.php 应该打开。当我点击 option.php 然后我的option.php 应该打开等等。最初 setup.php 应该是可见的。那么我应该在哪里包含我的所有四个 php 文件,以便在单击选项卡时应该打开特定的 php 文件?

【问题讨论】:

  • 每次按下标签页都会刷新吗?还是应该在不刷新页面的情况下加载?
  • @anurupr-page 每次点击标签时都会刷新。

标签: php


【解决方案1】:

如果每次按下选项卡时页面都会刷新,则可以使用 switch 语句并从查询字符串中获取选项卡值:

    $tab = $_GET["tab"];
    switch ($tab) {

       case "setup":
          require "setup.php";
          break;

       default:
          break;
    }

加载 YOUR_FILENAME.php。

其他(好的)解决方案是使用带有 jQ​​uery 或其他 JavaScript 库的异步请求。

干杯

【讨论】:

  • @fastebro-its 给出错误“未定义索引:标签”。
  • @fastebro-你能解释一下如何从查询字符串中获取选项卡参数吗?
  • 你确定你定义了一个tab参数吗?阅读官方文档:php.net/manual/it/reserved.variables.get.php
  • @fastebro- 你可以检查我上面提供的代码。
  • 在switch语句中,当$_GET参数未定义时,您可以实现“默认”键来加载.php页面! :) “未定义索引”是一个警告消息(因为您的服务器上启用了调试配置)。您可以使用 @anurup 的解决方案之类的“isset”函数来解决。
【解决方案2】:

如果您将所有标签页与此代码放在同一个文件夹中,这应该可以解决问题

<ul id="tabs">
 <?php
    $tab='';

    if(!isset($_GET['tab'])) $tab='setup';
    else $tab = $_GET['tab'];

    //$tab=$_REQUEST['tab'];

     if($tab=='setup'){ ?>
    <li><b><span>Setup</span></b></li>
    <?php 
    }else{ ?>
    <li><a href="?tab=setup"><span>Setup</span></a></li>
    <?php } ?>

    <?php if($tab=='options'){ ?>
    <li><b><span>Options</span></b></li>
    <?php }else{ ?>
    <li><a href="?tab=options"><span>Options</span></a></li>
    <?php } ?>

    <?php if($tab=='questions'){ ?>
    <li><b><span>Questions</span></b></li>
    <?php }else{ ?>
    <li><a href="?tab=questions"><span>Questions</span></a></li>
    <?php } ?>

    <?php if($tab=='flow'){ ?>
    <li><b><span>Flow</span></b></li>
    <?php }else{ ?>
    <li><a href="?tab=flow"><span>Flow</span></a></li>
    <?php } ?>
 </ul>

<div style="clear:both; background-color:#edcb27; height:0px; overflow:hidden;"></div>    
<div style="border:solid 3px #edcb27; background-color:#edcb27; padding:10px; font-family:Verdana, Geneva, sans-serif; font-size:11px;">
<label>Edit Mode</label>
<label>dfhfghj</label>

<!-- assuming you are putting the content of the page here -->

require($tab.'.php');

【讨论】:

  • @anurpur-Thanxs。我的问题已经用你的代码解决了。
  • @anurpur-如果我想在加载我的 tab.php 文件时最初显示一页 php 文件(question.php),我应该怎么做?
  • 如果要先加载question.php,则应将if(!isset($_GET['tab'])) $tab='setup';改为if(!isset($_GET['tab'])) $tab='question';
  • @anurpur-Alrite。谢谢...:)
【解决方案3】:

我只是用if(isset($_GET['setup'])) { display setup code } 来做这件事对我来说似乎是一个简单的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多