gpt4 book ai didi

PHP:无法限制对页面的访问

转载 作者:行者123 更新时间:2023-11-30 00:23:41 27 4
gpt4 key购买 nike

我有 header.php,其中包含 init.php,它启动 session 并进一步包含用于数据库查询的所有函数和类。我在每个文件中都包含 header.php,因为它包含菜单。无论用户是否登录,菜单都会更新。这工作得很好。

但我的问题是:当在另一个页面上包含 header.php 时,我无法进一步包含 init.php 因为它已经包含在 header.php 中,所以我无法调用这些页面中的任何函数,我当然需要。

例如,有一个名为 new.php 的页面(也包含 header.php),管理员可以在其中向数据库添加新条目;我希望它只能由管理员访问。所以我想做的是检查用户的等级是否为 2,否则重定向。因此,要检索用户的排名,我需要使用 init.php 中的类内的函数。为此,如果我将逻辑代码放在 header.php 下面(在 new.php 中),因为只有这样我才能访问 init.php 的对象,我无法使用 header() 函数,因为 header 已经是发送。如果我尝试通过再次包含 init.php 文件在 header.php 上方(在 new.php 中)声明它,它会给出:不允许类的多个声明错误。

这是一段代码:

标题.php

<?php
require 'core/init.php';
if($general->logged_in()){
$user = $user->userdata($_SESSION['uid']);
$username = $user['username'];
$rank = $user['rank'];
}
?>
<!--Menu bar html below-->

new.php

<?php  
include 'includes/header.php';
<!--Check for the rank and redirect if invalid-->
?>

最佳答案

看看require_once 。这可能是您问题的答案。

关于PHP:无法限制对页面的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23041135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com