老师,您好,今天无意中再次打开《零基础入门》最后的作业,却发现报错

老师,您好,今天无意中再次打开《零基础入门》最后的作业,却发现报错

http://img1.sycdn.imooc.com//climg/5c3847380001f41513640307.jpg

原来的错误只是最下面的一条,内存限制,我开到256M,又出现新的问题,还是session_start 的 ,代码就是提交的作业中的。请问这是为啥?最近我清理了cookie的原因?还是?php.ini 从来就没动过,代码就是把老师指出的错误修改了一下,而且之前都没有报错,麻烦老师指教,谢谢!

报错的fun.php 85行的代码如下(完整的一个函数)我已注明第85行。

//检查用户是否登录
/**
 * @return bool
 */
function checkLogin(){
//开启session 
    session_start();//这里是85行
    if(!isset($_SESSION['user'])||empty($_SESSION['user'])){
//        msg(2,'请登录','login.php');
        return false;
    }
    return true;
}

报错的admin_user_list 代码如下(含周边的代码)

<?php
include_once "./lib/fun.php";
//判断是否登录
if ($login = checkLogin()) {
    $user = $_SESSION['user'];
}
$user = $_SESSION['user'];
//商品查询
$con = mysqlInit('localhost', 'root', '', 'imooc_mall');
if(!$con){
    exit (mysqli_errno($con));
}
//pages($total,)
//分页:
//检查page参数
//page 就是指的第几页
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
//$page 与1 比取其中最大值
$page = max($page, 1);
//一页显示几个
$pageSize = 5;
//算法演示
// page = 1 limit 0,2 //因为偏移量是从0开始的!
// page = 2 limit 2,2
// page = 3 limit 4,2
//可以发现 limit之后的这个 偏移量 就是(page-1)*pageSize;
$offset = ($page - 1) * $pageSize;
//获得总页数
$sql = "SELECT COUNT(`id`) AS `total` FROM `im_user`";
$obj = mysqli_query($con, $sql);
//var_dump($obj);die;
if (!$obj) {
    msg(2, "还没有一个用户,话说你是怎么进来的?", "index.php");
}
$result = mysqli_fetch_assoc($obj);
$total = isset($result['total'])||!empty($result['total']) ? $result['total'] : 0;
unset($sql, $obj, $result);
//注意!!order 只能在limit之前不能再之后!
$sql = "SELECT `id`,`username` AS `name`,`create_time` AS `time` FROM `im_user` ORDER BY `id` ASC LIMIT {$offset},{$pageSize}";
$obj = mysqli_query($con, $sql);
//因为不止查询一次所以用循环
//用一个数组记录每次取出的记录
$result = mysqli_fetch_assoc($obj);
//if(!isset($result)||empty($result)){
//    msg(2);
//}
$users = array();
while ($result) {
    $users[] = $result;
}
//分页
$pages = pagesUsers($total, $page, $pageSize, 7);

?>
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>用户列表</title>
    <meta name="description" content="这是一个 index 页面">
    <meta name="keywords" content="index">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="renderer" content="webkit">
    <meta http-equiv="Cache-Control" content="no-siteapp"/>
    <link rel="icon" type="image/png" href="assets/i/favicon.png">
    <link rel="apple-touch-icon-precomposed" href="assets/i/app-icon72x72@2x.png">
    <meta name="apple-mobile-web-app-title" content="Amaze UI"/>
    <link rel="stylesheet" href="assets/css/amazeui.min.css"/>
    <link rel="stylesheet" href="assets/css/admin.css">
    <link rel="stylesheet" href="assets/css/app.css">
</head>

<body data-type="generalComponents">

<header class="am-topbar am-topbar-inverse admin-header">
    <div class="am-topbar-brand">
        <span>后台管理系统</span>
        <!--  <a href="javascript:;" class="tpl-logo">
             <img src="assets/img/logo.png" alt="">
         </a> -->
    </div>
    <div class="am-icon-list tpl-header-nav-hover-ico am-fl am-margin-right">

    </div>

    <button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-success am-show-sm-only"
            data-am-collapse="{target: '#topbar-collapse'}"><span class="am-sr-only">导航切换</span> <span
                class="am-icon-bars"></span></button>

    <div class="am-collapse am-topbar-collapse" id="topbar-collapse">

        <ul class="am-nav am-nav-pills am-topbar-nav am-topbar-right admin-header-list tpl-header-list">
            <li><a href="./msg.php?type=1&msg=正在前往主页&url=index.php" class="tpl-header-list-link"><span class="am-icon-sign-out tpl-header-list-ico-out-size"></span></a>
            </li>
        </ul>
    </div>
</header>

<div class="tpl-page-container tpl-page-header-fixed">

    <div class="tpl-left-nav tpl-left-nav-hover">
        <div class="tpl-left-nav-title">
            后台管理系统列表
        </div>
        <div class="tpl-left-nav-list">
            <ul class="tpl-left-nav-menu">
                <li class="tpl-left-nav-item">
                    <a href="admin_index.php" class="nav-link tpl-left-nav-link-list">
                        <i class="am-icon-home"></i>
                        <span>首页</span>
                    </a>
                </li>
                <li class="tpl-left-nav-item">
                    <a href="admin_user_list.php" class="nav-link tpl-left-nav-link-list">
                        <i class="am-icon-table"></i>
                        <span>用户列表</span>
                    </a>
                </li>
            </ul>
        </div>
    </div>

    <div class="tpl-content-wrapper">
        <div class="tpl-content-page-title">
            用户列表
        </div>
        <ol class="am-breadcrumb">
            <li><a href="index.html" class="am-icon-home">首页</a></li>

            <li class="am-active">用户列表</li>
        </ol>
        <div class="tpl-portlet-components">
            <div class="portlet-title">
                <div class="caption font-green bold">
                    <span class="am-icon-code"></span> 用户列表
                </div>

            </div>
            <div class="tpl-block">

                <div class="am-g">
                    <div class="am-u-sm-12">
                        <form class="am-form">
                            <table class="am-table am-table-striped am-table-hover table-main am-table-centered">
                                <thead>
                                <tr>
                                    <th class="table-type">ID</th>
                                    <th class="table-type">名称</th>
                                    <th class="table-type">创建时间</th>
                                </tr>
                                </thead>
                                <tbody>
                                <?php foreach($users as $k=>$v):?>
                                <tr>
                                    <td><?php echo $v['id'] ?></td>
                                    <td><?php echo $v['name'] ?></td>
                                    <td><?php echo date('Y-m-d H:i:s',$v['time'])  ?></td>
                                </tr>
                                <?php endforeach; ?>
                                </tbody>
                            </table>
                            <div class="am-cf">

                                <div class="am-fr">
                                    <?php echo $pages ?>
                                </div>
                            </div>
                            <hr>

                        </form>
                    </div>

                </div>
            </div>
            <div class="tpl-alert"></div>
        </div>

    </div>

</div>


<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/amazeui.min.js"></script>
<script src="assets/js/app.js"></script>
</body>

</html>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕查理 2019-01-11 18:23:46

您好,Fatal error的错误是因为程序陷入了死循环。admin_user_list.php此处代码造成的:

while ($result) {
    $users[] = $result;
}

解决方法在您的批复文档中已经给出,可查看:

    http://img1.sycdn.imooc.com//climg/5c386d7a0001643b05950344.jpg

session报错无法复现,因此无法确定您那边报错的具体原因,请同学反馈一下修改的代码指的是只修改了admin_user_list.php页面中的while循环部分吗?如果有修改其它内容请具体反馈,以便复现同学的报错,查找具体原因。祝学习愉快!

  • 提问者 轩辕小齐V #1
    还是报错session,对学生只修改了while循环部分,修改while错误后:报错如下: Warning: session_start(): open(/var/folders/1n/t63yylzj6dlc2t2r89wkrlgc0000gn/T/sess_7e33a66771e36bd06468fc16dfeea294, O_RDWR) failed: Permission denied (13) in /Applications/XAMPP/xamppfiles/htdocs/mall/lib/fun.php on line 85 Warning: session_start(): Failed to read session data: files (path: ) in /Applications/XAMPP/xamppfiles/htdocs/mall/lib/fun.php on line 85
    2019-01-21 12:28:47
  • 提问者 轩辕小齐V #2
    麻烦老师看看,确实没有乱写乱加,但确实清理了系统,清理前还强制关闭了浏览器。
    2019-01-21 12:30:07
  • 好帮手慕查理 回复 提问者 轩辕小齐V #3
    您好,1.查看PHP版本,将版本切换为7.0版本再尝试运行。2.查看php.ini配置中“session.save_path”的路径文件是否存在,权限是否够。3.报错为lib/fun.php上的85行代码,请反馈85行附近的代码。祝学习愉快!
    2019-01-21 16:04:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师