在我的一个页面中有两个“包含”的问题 - PHP


Issues for having two "Include" in one of my page - PHP

<?php require_once('php/auth.php'); ?>
<!DOCTYPE html>
<head>
    <title></title>
    <link type="text/css" rel="stylesheet" href="design.css" />
    <meta http-equiv="refresh" content="120" >

    <!-- Start of slideshow -->
    <style type="text/css">
    .slideshow { height: auto; width: auto; margin: auto }
    .slideshow img { padding: 15px; border: 1px solid #ccc; background-color: #eee; }
    </style>
    <!-- include jQuery library -->
    <script type="text/javascript" src="jquery/lib.js"></script>
    <!-- include Cycle plugin -->
    <script type="text/javascript" src="jquery/slider.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $('.slideshow').cycle({
            fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
        });
    });
    </script>

    <!-- END of slideshow-->

</head>
<body bgcolor="#FFFF66">
<div id="contain"> 
<!-- Master header for all the pages -->
    <?php include 'php/head.php'; ?>
    <div id="bodyDiv">
        <?php 
        // Div for the slider in jquery
        echo "<div class='slideshow'>";
        // Both of these are working when tested and included alone
        // This is where my problem lies, if I include them both, the 2nd one will not appear, the first one will only be showing its output.
            include 'php/bussvolci.php';
            include 'php/bussvolap.php';
        echo "</div>";
        ?>

    </div>

</div>
</body>

</html>

如代码部分所述,我的问题在于两个包含只显示 1 个输出,它只会输出include 'php/bussvolci.php';并且会忽略/或不显示任何输出include 'php/bussvolap.php'。我已经单独测试了它们,它们都可以工作,但是当我将它们放在一个页面中时,我想在幻灯片效果中查看报告,只显示第一个表格。这些页面都输出 1 个具有不同数据的表,但来自单个表。你们能帮我解决这个问题吗?

这是我的巴士.php

<!DOCTYPE html>
<head>
    <link type="text/css" rel="stylesheet" href="../design.css" />
</head>
<body>
<?php
function inputDate(){
                    define('TIMEZONE', 'Asia/Manila');
                    date_default_timezone_set(TIMEZONE);
                    return date('Y-m-d');
                }
        include 'con_test.php';
        echo "<table name='volAp' cellspacing='0' cellpadding='0' border='1' rules='rows' style='font-family:Calibri; margin:0 auto 0 auto; font-size:15px; text-align:center; padding:4px;'>
                        <tr border='1'>
                            <th>&nbsp;&nbsp;Products&nbsp;&nbsp;</th>
                            <th>&nbsp;&nbsp;Real Estate&nbsp;&nbsp;</th>
                            <th>&nbsp;&nbsp;TVR&nbsp;&nbsp;</th>
                            <th>&nbsp;&nbsp;Auto Appraisal&nbsp;&nbsp;</th>
                        </tr>";

// START OF Mortgage PRODUCT --------------------------------------------
// Mortgage - Real Estate
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Mortgage'
                        AND `rec_proc` = 'Appraisal - Real Estate'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<tr><td>Mortgage</td> <td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage - Real Estate
// Mortgage - TVR
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Mortgage'
                        AND `rec_proc` = 'Appraisal - TVR'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage TVR
    echo "<td> - </td></tr>";
// End OF Mortgage PRODUCT -------------------------------------------- 

// START OF SME PRODUCT --------------------------------------------
// Mortgage - Real Estate
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'SME'
                        AND `rec_proc` = 'Appraisal - Real Estate'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<tr><td>SME</td> <td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage - Real Estate
// Mortgage - TVR
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'SME'
                        AND `rec_proc` = 'Appraisal - TVR'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage TVR
    echo "<td> - </td></tr>";
// End OF SME PRODUCT --------------------------------------------
// START OF Corpbank PRODUCT --------------------------------------------
// Mortgage - Real Estate
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Corpbank'
                        AND `rec_proc` = 'Appraisal - Real Estate'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<tr><td>Corpbank</td> <td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage - Real Estate
// Mortgage - TVR
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Corpbank'
                        AND `rec_proc` = 'Appraisal - TVR'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage TVR
    echo "<td> - </td></tr>";
// End OF Corpbank PRODUCT --------------------------------------------
// START OF Combank PRODUCT --------------------------------------------
// Mortgage - Real Estate
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Combank'
                        AND `rec_proc` = 'Appraisal - Real Estate'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<tr><td>Combank</td> <td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage - Real Estate
// Mortgage - TVR
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'Combank'
                        AND `rec_proc` = 'Appraisal - TVR'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Mortgage TVR
    echo "<td> - </td></tr>";
// End OF Combank PRODUCT --------------------------------------------
// START OF CCD PRODUCT --------------------------------------------

    echo "<tr><td>CCD</td> <td> - </td>";
    echo "<td> - </td>";
// CCD - Auto
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'CCD'
                        AND `rec_proc` = 'Appraisal - Auto'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td></tr>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of CCD - Auto

// End OF CCD PRODUCT --------------------------------------------
// START OF WAF PRODUCT --------------------------------------------

    echo "<tr><td>WAF</td> <td> - </td>";
    echo "<td> - </td>";
// WAF - Auto
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'WAF'
                        AND `rec_proc` = 'Appraisal - Auto'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td></tr>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of WAF - Auto

// End OF WAF PRODUCT --------------------------------------------
// START OF PhilMay PRODUCT --------------------------------------------

    echo "<tr><td>PhilMay</td> <td> - </td>";
    echo "<td> - </td>";
// CCD - Auto
    if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                    AND `rec_prod` = 'PhilMay'
                        AND `rec_proc` = 'Appraisal - Auto'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td>%d</td></tr>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of PhilMay - Auto

// End OF PhilMay PRODUCT --------------------------------------------

// Start of Total --------------------------------------------
// Real Estate Total
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                        AND `rec_proc` = 'Appraisal - Real Estate'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<tr><td><b>Total</b></td> <td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Real Estate Total
// Appraisal - TVR Total
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                        AND `rec_proc` = 'Appraisal - TVR'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td> %d </td>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Appraisal - TVR Total
// Appraisal - Auto Total
        if ($result = $con->query("
        SELECT `recID` 
            FROM `samprec` 
                WHERE `recDate` = '".inputDate()."'
                        AND `rec_proc` = 'Appraisal - Auto'")) {
            /* determine number of rows result set */
            $row_cnt = $result->num_rows;
            printf("<td> %d </td></tr>", $row_cnt);
            /* close result set */
            $result->close();
        }
// end of Appraisal - Auto Total
// End of Total --------------------------------------------
        echo "</table>";
?>

</body>
</html>

更新

错误.log显示两个 2 错误

PHP 致命错误:无法重新声明 inputDate(((先前声明(

PHP 注意:已经定义了常量时区

The

bussvolap.php link .. The bussvolci.php link

溶液

问题是具有相同的功能,包括连接字符串,并且可能包含两个包含页面上的 css 链接。我所做的是删除指向 css、函数的链接(它定义了相同的时区并具有相同的函数名称(,并从第二个Include中删除了连接字符串

这两个

包含的文件里面有什么?

如果他们死了((,第一个将停止进一步执行你的脚本。

所以问题是你重复了相同的函数,PHP 抛出了:

PHP 致命错误:无法重新声明 inputDate(((先前声明(

致命错误将停止脚本(除非您有一些用户定义的错误处理等(。这就是您的第二个包含失败的原因。

这就是为什么您应该在整个开发过程中始终使用错误.log文件的原因。

甚至警告和通知(不会停止脚本的非关键错误(也不应被忽略。

这:

PHP 注意:已经定义了常量时区

只是一个通知,

虽然不会使您的脚本停止,但PHP善意地向我们报告的这些警告和通知非常有用。它允许我们简化代码,纠正这里和那里的小问题。虽然有些人认为可以忽略,有些人甚至使用 @ 来抑制这些低级警告,但如果你想要一个 100% 干净和专业的脚本,应该解决这些问题。

您应该始终检查错误日志,一旦完成新脚本或对当前脚本的更改等,请清除错误.log(echo>错误.log(,然后在浏览器中运行脚本,如果一切正常,请检查错误日志(尾部错误.log - 该文件中默认的最后 10 行代码(

错误日志可以帮助您修复损坏的代码,例如您刚刚解决的这个代码,但也有一些事情虽然表面上看起来毫无意义,并且永远不会破坏您的代码运行,但进一步它可能会破坏您的网页本身中的某些内容。
例如,您正在检查未声明变量的警告可能会指向变量名称中的拼写错误。你的意思是$UserName而不是$USerName——它发生了。

在这种情况下,虽然 PHP 不会停止,但网页会加载,您看起来想知道为什么没有显示您想要的用户名!

也如上面的通知"常量时区已经定义"。您需要检查您的常量是否被欺骗,因为如果不检查错误.log,有一天您可能会更改其中一个常量,后一个常量,并想知道为什么您的更改对整个站点没有影响!


根据您的要求或包含,您可以使用require_once或include_once,以避免重复代码和函数等问题,尽管它不会修复在两个文件中具有相同功能的问题。

若要解决此问题,需要仔细设计框架或站点设置,始终牢记尽可能将业务逻辑与表示分开。

然后,您将有一个单独的文件来定义函数,将其包含在所有页面(例如header.php或config.php(中的文件中一次,然后您就知道您正在处理该函数的任何页面(脚本文件(已经为您服务。

也就是说,请注意不要为了它而包含所有内容,如果您可以确保只在需要的地方包含内容,那么您编写了更高效的代码!

您能否显示"bussvolap.php"和"bussvolap.php"文件的内容。

检查您是否在这些文件中的某处使用"退出"或"死亡"。

您应该向我们展示您要包含的两个文件的内容。几乎可以肯定是这些文件的内容有问题。

当您查看网页的源代码时,您能看到这些文件的内容吗?