Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在控制器yii2中获取输入数据?_Php_Mysql_Yii2 - Fatal编程技术网

Php 在控制器yii2中获取输入数据?

Php 在控制器yii2中获取输入数据?,php,mysql,yii2,Php,Mysql,Yii2,我正在尝试从yii2中的表单获取输入字段。我需要根据值在控制器中使用它。我试图使用var_dump查看值,但它不起作用。我得到的值是“NULL”。。或者有没有办法让窗体使用不同的控制器 控制器 public function actionBlog() { $thumbs= new Thumbs; $thumbs->user=Yii::$app->user->identity->email; $thumbs->topic_id=Y

我正在尝试从yii2中的表单获取输入字段。我需要根据值在控制器中使用它。我试图使用var_dump查看值,但它不起作用。我得到的值是“NULL”。。或者有没有办法让窗体使用不同的控制器

控制器

 public function actionBlog()
 { 
     $thumbs= new Thumbs; 
     $thumbs->user=Yii::$app->user->identity->email;
     $thumbs->topic_id=Yii::$app->getRequest()->getQueryParam('id');
     $ra=Yii::$app->request->post('rate');
     var_dump($ra);
     if(ra=='down'){
         if ($thumbs->load(Yii::$app->request->post()) && $thumbs->validate()) {
             $thumbs->load($_POST);
             $thumbs->save();
             return $this->refresh();
         }
     } else {
         return $this->refresh();
     }
     return $this->render('blog',[
         'thumbs' => $thumbs,
     ]);
 }   
这是我的看法

  <?php $form = ActiveForm::begin(['id' => "contact-form"
        ]); 
  ?>
  <?= $form->field($thumbs, 'rate')?>
  <?= Html::submitButton('Update', ['blog'], ['class' => 'btn btn-primary']) ?>
  <?php ActiveForm::end(); ?>
我得到了这个错误:


isset中的偏移量类型非法或为空


您在if(ra=='down')条件中有一个错误,缺少“$”。

您在if(ra=='down')条件中有一个错误,缺少“$”。

如果我没记错的话。。你应该试试

$ra=Yii::$app->request->post(['Thumbs']['rate']);

如果我没记错的话。。你应该试试

$ra=Yii::$app->request->post(['Thumbs']['rate']);


检查
var_dump的输出(Yii::$app->request->post())在发布前尝试设置代码格式。另外,避免使用PHP短标记始终是一个好做法,因为某些版本的PHP默认情况下禁用了短标记。@Raptor因为Yii 2需要PHP5.4或更高版本,所以保存以使用短标记,因为它们确实可用。@Arize在这段短代码中有很多问题。。。无论如何,您的表单类称为Thumbs,因此应该有可用的$\u POST['Thumbs']['rate']。我刚刚尝试了它$\u POST['Thumbs']['rate'],它不起作用。这是非法偏移类型的错误。。。检查
var_dump(Yii::$app->request->post())的输出在发布前尝试设置代码格式。另外,避免使用PHP短标记始终是一个好做法,因为某些版本的PHP默认情况下禁用了短标记。@Raptor因为Yii 2需要PHP5.4或更高版本,所以保存以使用短标记,因为它们确实可用。@Arize在这段短代码中有很多问题。。。无论如何,您的表单类称为Thumbs,因此应该有可用的$\u POST['Thumbs']['rate']。我刚刚尝试了它$\u POST['Thumbs']['rate'],它不起作用。这是非法偏移类型的错误。。。我的代码有什么问题。vardump正在返回null vardump正在返回null未定义的索引:rate请更新您的问题并告诉我varu dump的内容(ra=Yii::$app->request->post(['Thumbs');在isset或empty中输入非法偏移量你确定在$\u post中有什么东西吗..试试varu dump(Yii:$app->request->post);重复上一步,不带ra=…var_dump(Yii::$app->request->post(['Thumbs');未定义索引:rate请更新您的问题并告诉我var_dump的内容(ra=Yii::$app->request->post(['Thumbs');在isset中输入非法偏移量或为空您确定在$_post中有内容吗..尝试var_dump(Yii:$app->request->post);并在没有ra=…var_dump的情况下重复前面的步骤(Yii::$app->request->post(['Thumbs']);