• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php- PHP使用数组调用类中的方法,出现了错误

php 搞代码 4年前 (2022-01-22) 38次浏览 已收录 0个评论
文章目录[隐藏]

php

<?php
/**

  • 启用session/session_start();/*
  • 包含初始化文件/include_once ‘../../../sys/config/db-cred.inc.php’;/*
  • 为配置信息定义常量/foreach ( $C as $name => $val ) {define($name, $val);}/*
  • 以表单action为键生成一个关联数组
    */
    $actions = array(
    ‘event_edit’ => array(
    ‘object’ => ‘Calendar’,
    ‘method’ => ‘processForm’,
    ‘header’ => ‘Location:../../’
    ),

    ‘user_login’ => array(
    ‘object’ => ‘Admin’,
    ‘metho

    本文#来源gaodai.ma#com搞##代!^码7网
    搞代gaodaima码

    d’ => ‘processLoginForm’,
    ‘header’ => ‘Location:../../’
    )
    );
    /**

  • 保证session中的防跨站标记与提交过来的标记一致及请求action合法
    */
    if ( $_POST[‘token’]==$_SESSION[‘token’] &&
    isset($actions[$_POST[‘action’]]) ) {
    $use_array = $actions[$_POST[‘action’]];
    $obj = new $use_array’object’;

    <code>if ( true == $msg=$obj->$use_array['method']() ) {    header($use_array['header']);    exit;} else {    die( $msg );}</code>

    } else {
    //如果token/action非法,重定向到主页
    header(“Location:../../”);
    exit;
    }

function __autoload($class) {

<code>$filename = "../../../sys/class/class.".$class.".inc.php";if ( file_exists($filename) ) {    include_once $filename;}</code>

}

主要是这个的问题:$obj->$use_array’method’
一到这个步骤就会出现Function name must be a string in E:\qampp\htdocs\Source Files\public\assets\inc\process.inc.php:40 Stack trace: #0 {main} thrown in E:\qampp\htdocs\Source Files\public\assets\inc\process.inc.php on line 40错误。

如果用$obj直接调用该类中的processForm()或者processLoginForm()方法的话,都可以。
请求大神帮忙看看。

回复内容:

http://blog.sina.com.cn/s/blog_8d7518cb0100zk1t.html


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php- PHP使用数组调用类中的方法,出现了错误

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址