在文件末尾保证php include / require

时间:2016-07-04 06:49:05

标签: php

在我的网络应用中有这个页面:

<?php require_once('head.php');?>
<?php require_once('nav.php');?>


<div class="container-fluid">

    <div class="container EXAMPLE">

            <?php
                if(isset($_SESSION['lecturer'])){
                    require_once('lecturer-courses.php');
                } else{
                    require_once('student-courses.php');
                }
            ?>

    </div>

</div>

<?php require_once('footer.php') ?>

每个讲座课程.php / student-courses.php文件都会创建一个包含大量数据的表格,并涉及一些服务器工作和与DB的通信。问题是页脚html代码总是在EXAMPLE类的div内部结束。我假设它与创建表所需的时间有关。任何想法我怎样才能确保只有在任何其他早先要求的代码之后才需要页脚? THX

更新:student-courses.php:

<?php
$output = '<h2>My Courses</h2>';
$output .= '<table class="table">';
$output .=  '<thead>';
$output .=  '<tr>';
$output .=  '<th>Course</th>';
$output .=  '<th>Lecturer</th>';
$output .=  '<th>Email</th>';
$output .=  '<th>Day Limit</th>';
$output .=  '</tr>';
$output .=  '</thead>';
$output .=  '<tbody>';

echo $output;

    $courses = $auth_user->getCourses($userRow["user_id"]);
    foreach($courses as $course){
      $row = '<tr>';
      $row .= '<td><a href="course.php?cid='.$course["course_id"].'">'.$course["course_name"].'</a></td>';
      $row .= '<td>'.$course["first_name"]." ".$course["last_name"].'</td>';
      $row .= '<td>'.$course["email"].'</td>';
      $row .= '<td>'.$course["day_limit"].'</td>';
      $row .= '<tr>';
      echo $row;
    }

$output .= '</tbody>';
$output .= '</table>';

?>

1 个答案:

答案 0 :(得分:1)

在您的student-courses.php代码中,最后两行也需要echo

$output .= '</tbody>';
$output .= '</table>';

要显示/阻止页脚,您可以在讲座-courses.php和/ student-courses.php中包含一些逻辑,如您所要求的那样;

if(condition met)$footer_disp = FALSE;
else $footer_disp = TRUE;

然后在你的主页上;

<?php 
if(!empty($footer_disp))require_once('footer.php') 
?>