как правильно принять post запрос?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
luren1993
Сообщения: 1
Зарегистрирован: 2019.01.20, 23:10

как правильно принять post запрос?

Сообщение luren1993 » 2019.01.20, 23:24

здравствуйте. пытаюсь выполнить поиск через post запрос.

вид

Код: Выделить всё

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<style>
.menu3 { background-color: #178EBB; }
.left-menu .navbar .menu3 ul { display: block; }
.menu3 .submenu1 { background-color: #178EBB; }
</style>

		<div class="category-block">

			
		</div>
        <h3>Block/Unblock user</h3>
        <br>
	<form  method="post" action="index">
		<div class="double-input">
			<input type="text" class="first-input" name="usearch" placeholder="Search by name/nickname" />
			<input type="text" class="second-input" name="busearch" placeholder="Search by name/nickname" />
		</div>
		<div class="ashki">
			<div class="ashki1">
				<a class="a1" href="">All users</a>
				<a class="a2" href="">Sort By:</a>
				<a class="a3" href="">Name (A-Z)</a>
				<a class="a4" href="">Name (Z-A)</a>
			</div>

			<div class="ashki2">
				<a class="a5" href="">Blocked users</a>
				<a class="a6" href="">Sort By:</a>
				<a class="a7" href="">Name (A-Z)</a>
				<a class="a8" href="">Name (Z-A)</a>
			</div>
		</div>

		<div class="two-blocks">
			
				<select multiple name="users" class="first-block">
	
     <? foreach ($users as $model) : ?><option value="<?= $model->id?>" class="uzr"><?= $model->username ?></option><? endforeach; ?>
				</select>
				<select multiple name="blockusers" class="second-block">
     <? foreach ($blockusers as $model) : ?><option value="<?= $model->id?>" class="uzr"><?= $model->username ?></option><? endforeach; ?>
                </select>
                                <table  cellpadding="0" cellspacing="3">
                                <tbody><tr><td>
                                <button id="block" type="submit"  name="addblock" style="width: 30; height: 30">-></button>
                                </td></tr>
                                <tr><td>
                                <button id="unblock" type="submit"  name="rmblock" style="width: 30; height: 30"><-</button>
                                </td></tr>
                                </tbody></table>
            </div>
		
<!-- нажатие на кнопку -->
    </form>
котроллер

Код: Выделить всё

<?php

namespace app\modules\admin\controllers;
use Yii;
use app\models\User;

class UsersController extends AuthController
{
    public $layout = 'main_admin';
    public function actionIndex()
    {
        $users;
        $blockusers;
        $inputu;
        $inputb;
        //var_dump(Yii::$app->request->isPost);
  if (Yii::$app->request->isPost) {
            $request = Yii::$app->request;
            if($request->post('usearch'))
                $inputu = $request->post('usearch');
                if($request->post('busearch'))
                $inputb = $request->post('busearch');
    }else{$inputb = ''; $inputu = '';}
            $users = User::find()->where(['=','isblock','0'])->andwhere(['like','username',$inputu])->andwhere(['like','name',$inputu])->all();
            $blockusers = User::find()->where(['=','isblock','1'])->andwhere(['like','username',$inputb])->andwhere(['like','name',$inputb])->all();
        return $this->render('index', ['users' => $users, 'blockusers' => $blockusers]);
    }

}
и выдает ошибку
An Error occurred while handling another error:
yii\base\InvalidRouteException: Unable to resolve the request "error". in C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\base\Module.php:537
Stack trace:
#0 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\web\ErrorHandler.php(108): yii\base\Module->runAction('error')
#1 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\BadRequestHttpException))
#2 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\BadRequestHttpException))
#3 {main}
Previous exception:
yii\web\BadRequestHttpException: Unable to verify your data submission. in C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\web\Controller.php:166
Stack trace:
#0 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\base\Controller.php(155): yii\web\Controller->beforeAction(Object(yii\base\InlineAction))
#1 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\base\Module.php(528): yii\base\Controller->runAction('index', Array)
#2 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction('admin/users/ind...', Array)
#3 C:\Openserver\OSPanel\domains\basic\vendor\yiisoft\yii2\base\Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#4 C:\Openserver\OSPanel\domains\basic\web\index.php(12): yii\base\Application->run()
#5 {main}
помогите разобраться что не так?

Аватара пользователя
maleks
Сообщения: 1693
Зарегистрирован: 2012.12.26, 12:56

Re: как правильно принять post запрос?

Сообщение maleks » 2019.01.24, 10:43

Вам нужно формы yii-шные использовать. Там токены будут, которых у вас сейчас нет

Закрыто