Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
致命错误:对cakephp登录应用程序中的非对象调用成员函数create()_Php_Cakephp_Cakephp 2.4 - Fatal编程技术网

致命错误:对cakephp登录应用程序中的非对象调用成员函数create()

致命错误:对cakephp登录应用程序中的非对象调用成员函数create(),php,cakephp,cakephp-2.4,Php,Cakephp,Cakephp 2.4,我开发了一个模型、控制器、视图类,并将其放在所需的文件夹中。但仍然面临这个问题 模型类: <?php class User extends AppModel { function validateLogin($data) { $user = $this->find(array('username' => $data['username'], 'password' => $data['password']), array('id', 'us

我开发了一个模型、控制器、视图类,并将其放在所需的文件夹中。但仍然面临这个问题

模型类:

<?php
class User extends AppModel {
    function validateLogin($data)
    {

        $user = $this->find(array('username' => $data['username'], 'password' => $data['password']), array('id', 'username'));

        if( empty($user) == false )
        {
            return $user;
        }

        return false;
    }
}
?>

控制器类:

<?php
class UsersController extends AppController {
    var $name = 'Users';
    var $helpers = array('Form');


    function index(){
    }
    function login_form() { }

    function login() {

        if(empty($this->data['User']['username']) == false)
        {

            if(($user = $this->User->validateLogin($this->data['User'])) != false)
            {

                $this->Session->setFlash('Thank you for logging in!');
                $this->Session->write('User', $user);

                $this->Redirect(array('controller' => 'Controller_name', 'action' => 'Action_name'));
                exit();
            }
            else
            {
                $this->Session->setFlash('Incorrect username/password!', true);
                $this->Redirect(array('action' => 'login_form'));
                exit();
            }
        }
    }

    function logout() {

        $this->Session->destroy();
        $this->Session->setFlash('You have been logged out!');


        $this->Redirect('/');
        exit();
    }
}
?>

视图类:

<div class="login"> 
<h2>Login</h2>     
    <?php echo $form->create('User', array('action' => 'login'));?> 
        <?php echo $form->input('username');?> 
        <?php echo $form->input('password');?> 
        <?php echo $form->submit('Login');?> 
    <?php echo $form->end(); ?> 
</div> 

登录
我为此创建了数据库。但问题是出现如下致命错误


错误:对非对象调用成员函数create()

您的表单应该是这样的

<?php echo $this->Form->create('User', array('action' => 'login'));?>

 <!-- Form elements go here -->

 <?php echo $this->Form->end(); ?>


尝试使用
$this->Form->create()
。您应该始终提到您使用的确切cakephp版本。指定导致问题的行和文件也有帮助…@mark我使用的是cakephp 2.4版本。请告诉我您最终是如何使用$Form而不是$this->Form的。我对此很好奇。另外,请注意,有一份官方文件,在开始询问其他人之前,应该先看一看:-它是免费的,可以全天候访问。