无法从Yii2中的系统注销 - php

我想从系统中注销,并在下面编写了代码:

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'only' => ['signin', 'logout', 'register', 'index'],
            'rules' => [
                [
                    'allow' => true,
                    'actions' => ['index', 'signin', 'register'],
                    'roles' => ['?'],
                ],
                [
                    'allow' => true,
                    'actions' => ['logout'],
                    'roles' => ['@'],
                ],
            ],
//                'rules' => [
//                    [
//                        'allow' => true,
//                        'actions' => ['logout'],
//                        'roles' => ['@'],
//                    ],
//                    [
//                        'actions' => ['update', 'profile', 'delete', 'all', 'add'],
//                        'allow' => true,
//                        'verbs' => ['GET', 'POST'],
//                        'roles' => ['@'],
//                    ],
//                    [
//                        'actions' => ['signin', 'register'],
//                        'allow' => true,
//                        'roles' => ['?'], // guests
//                        'verbs' => ['GET', 'POST'],
//                    ],
//                    [
//                        'actions' => ['index'],
//                        'allow' => true,
//                        'verbs' => ['GET', 'POST'],
//                        'roles' => ['?'],
//                    ],
//                ],
            'denyCallback' => function ($rule, $action) {
                throw new \Exception('You are not allowed to access this page');
////                    $this->redirect(['daxilol']);
            },
        ],
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'logout' => ['POST', 'PUT'],
            ],
        ],
    ];
}

如您所见,我尝试了太多方法来允许用户注销。但是在我的所有尝试中,它都会返回:

例外
您无权访问此页面

我在做什么错?

参考方案

尝试避免顶部的唯一子句

   public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
               [
                  'allow' => true,
                  'actions' => ['index', 'signin', 'register'],
                  'roles' => ['?'],
              ],
              [
                  'allow' => true,
                  'actions' => ['logout'],
                  'roles' => ['@'],
              ],
              [
                  'allow' => false,
                  'actions' => ['register'],
                  'roles' => ['@'],
              ],
            ],
        ],

验证IBAN PHP - php

在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…

Yii2 GridView无法设置列宽 - php

这是我第一次使用Yii2 GridView Widget。在阅读了关于stackoverflow的一些答案之后,我尝试过设置列的宽度,但是它对我来说不起作用,并且如果列的宽度不同(尤其是第一个),我会喜欢的。我尝试直接在第一列中使用“ contentOptions”设置宽度,并在产品名称列中使用外部CSS文件设置宽度。有人可以告诉我是否有替代方法,或者我做错…

yii2:jquery,如果gridview列包含特定值而不是更改颜色 - php

假设我在网格视图is_delivered中有一列,其中包含例如(1,1,0),(1,1,1),(0,0,0)共三个组合。我已将单元格的ID设置为“已交付”现在如何根据列中的值更改行的颜色,例如红色,蓝色或黄色。例如,如果为(1,1,1),则行颜色将为绿色,如果为(1,1,0),则行颜色将为黄色,否则为红色。我无法确定从哪里开始以及如何开始。我不能在这里使用=…

从查询中的DateTime中选择日期-Yii2 - php

我有一个事件表。其中,事件due date以datetime格式存储。但是,由于要求的某些更改,现在我们只需要在date列中显示due date(不包括时间)。活动(表)id | user_id | description | due_date | is_completed 1 8 My Event1 2016-08-09 19:16:00 0 2 8 My…

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…