保证PHP在文件末尾包含/require



在我的web应用程序中有这个页面:

<?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') ?>

每个lecture -courses.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>';
?>

在你的student-courses.php代码中,最后两行也需要被echo删除。

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

为了显示/防止页脚,你可以在lecture -courses.php和student-courses.php中加入一些逻辑,根据你的要求;

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

>

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

最新更新