编程语言
首页 > 编程语言> > PHP – require_once在多个页面中

PHP – require_once在多个页面中

作者:互联网

我正在使用LAMP堆栈来开发PHP应用程序.我使用require_once来包含类文件.我需要在多个PHP页面中使用这些类文件中的函数.所以,我使用require_once在所有必需的PHP页面中包含这些类文件.但是,如果我将这些类文件包含在多个页面中,则PHP文件将变为空白.它什么都没显示.查看源也不显示任何内容.

文件:test.php,process.php和class.test.php

test.php有

<?php
    session_start();
    require_once 'classes/class.test.php';

    .
    Few more classes
    .
    .  


?>

<html>   
    <form name = "myForm" method="POST" action="process.php">
       <input type = "text" name="username" value=""/>
       <input type = "submit" value="Submit" />
    </form>   
</html>

process.php

<?php 
    session_start();
    require_once 'classes/class.test.php';

    $obj_test = new test();
    $obj_test->test();
?>

class.test.php

<?php
    session_start();
    require_once 'class.misc.php';
    require_once 'config.php'; //DB connection details

    function test()
    {
        $obj_misc = new misc();
        $id = $obj_misc->random_ID();
        $username = $_POST['username'];             

        $query = "INSERT INTO test_table VALUES ('$id','$username',NOW());
        mysql_query($query);
    }
?>

现在,它返回一个空白页面.如果我在process.php中注释掉require_once,test.php页面会显示表单,但在提交表单时,process.php会抛出错误“找不到类测试”.

过去两周我一直在努力解决这个问题. :(之前工作正常.我不明白出了什么问题.请帮忙.

解决方法:

您在process.php的PHP代码中有错误;你错过了一个分号:

require_once 'classes/class.test.php'

应该:

require_once 'classes/class.test.php';

如果这不能解决问题,那么代码中可能存在其他错误.如果没有完整的来源,我们将无法做很多事情.

为了将来参考,如果页面变为空白,则PHP源代码通常存在问题(即,某种类型的解释错误).作为良好调试策略的一部分,请查看display_errorserror_reporting

标签:require-once,php
来源: https://codeday.me/bug/20190723/1511208.html