在cakephp中传递变量

在cakephp中传递变量,php,cakephp,Php,Cakephp,我正在尝试传递登录到我的站点的人的id。我使用Auth在cakephp中登录。那么,有人能告诉我如何在登录期间传递值并在主页上检索它吗?我是cakephp新手 这就是我尝试过的 app controller.php class AppController extends Controller { //... public $components = array( 'Session', 'Auth' => array( 'loginRedirect' =&g

我正在尝试传递登录到我的站点的人的id。我使用Auth在cakephp中登录。那么,有人能告诉我如何在登录期间传递值并在主页上检索它吗?我是cakephp新手

这就是我尝试过的

app controller.php

class AppController extends Controller {
//...

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'members', 'action' => 'home',$member['Member']['id']),
        'logoutRedirect' => array('controller' => 'members', 'action' => 'index')
    )
);
public function home($id = null) {
    $this->Member->id = $id;
}
MembersController.php

class AppController extends Controller {
//...

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'members', 'action' => 'home',$member['Member']['id']),
        'logoutRedirect' => array('controller' => 'members', 'action' => 'index')
    )
);
public function home($id = null) {
    $this->Member->id = $id;
}
home.ctp

<div align='center'><h2>Hi user welcome to home page </h2></div>
<?php
 //I am just trying to print the id of the logged in person
echo $this->Form->value('User.id');
?>
<?php
echo $this->Html->link('LogOut',array('controller'=>'users','action'=>'logout')); 
?>
Hi用户欢迎访问主页
这是我们的一部分

如果您想预先填充表单,请使用约定。只需创建如下输入字段:

echo $this->Form->input('User.id');
如果
$this->request->data
包含此值(
$this->request->data['User']['id']
),它将自动填充您的表单

为了从中检索值,您只需执行如下操作:
$userName=$this->Auth->user('name')(只需确保“用户”数据库中存在“名称”列)

为了将变量传递给视图,只需使用
控制器
中定义的方法,该方法由
AppController
扩展,后者由
foobarscocontroller
扩展

如果要将此变量设置为视图(如前所述),请使用
set

$this->set('userName', $userName);
在您看来,您现在可以执行以下操作:

printf('Welcome %s', $userName);

蛋糕社区为您提供了一个全新的开始。看一看,从头开始。不要漏掉任何东西,只管全部做。因为有很多惯例和非常巧妙的技巧可以让你的第一个应用程序在短时间内运行!好的,杰尔默谢谢,你说的是真的。。。